一个、通过网络发送数据,大致能够分为面向有连接与面向无连接两种类型:
1.面向无连接型包含以太网、 IP、UDP等协议。

2. 面向有连接 型包含ATM、帧中继、TCP等 协议。
通过一张图了解一下:

  • 面向有连接型

面向有连接型中,在发送数据之前,须要在收发主机之间连接一条通信线路

面向有连接型就好比人们寻常打电话,输入完对方电话号码拨出之后。仅仅有 对端拿起电话才干真正通话,通话结束后将电话机扣上就如同切断电源。因此在 面向有连接的方式下,必须在通信传输前后。专门进行建立和断开连接的处理。

假设与对端之间无法通信,就能够避免发送无谓的数据。

  • 面向无连接型

面向无连接型则不要求建立和断开连接。发送端可于不论什么时候自由发送数据反之。接收端也永远不知道自己会在何时从哪里收到数据。

因此,在面向无连接的情况下,接收端须要时常确认是否收到了数据。

这就如同人们去邮局寄包裹一样。负责处理邮递业务的营业员。不须要确认 收件人的具体地址是否真的存在,也不须要确认收件人能否收到包裹,仅仅要发 件人有一个寄件地址就能够办理邮寄包裹的业务。

面向无连接通信与电话通信不同。它不须要拨打电话、挂掉电话之类的处理。而是全凭发送端自由地发送自己想要传递出去的数据。

因此,在面向无连接的通信中。不须要确认对端是否存在。即使接收端不存在或无法接收数据,发送端也能将数据发送出去。


(原文链接:http://blog.csdn.net/yelangjueqi/article/details/38276203 ,欢迎转载,转载时请注明出处。!

)


二、电路交换与分组交换

眼下,网络通信方式大致分为两种一电路交换和分组交换。电路交换技术的历史相对久远,主要用于过去的电话网。而分组交换技术则是一种较新的通信 方式。从20世纪60年代后半叶才開始逐渐被人们认可。本书着力介绍的TCP/ IP,正是採用了分组交换技术。

在电路交换中,交换机主要负责数据的中转处理。

计算机首先被连接到交换机 上,而交换机与交换机之间则由众多通信线路再继续连接。因此计算机之间在发送 数据时,须要通过交换机与目标主机建立通信电路。我们将连接电路称为建立连 接。建立好连接以后。用户就能够一直使用这条电路,直到该连接被断开为止。

假设某条电路仅仅是用来连接两台计算机的通信线路,就意味着仅仅需在这两台 计算机之间实现通信,因此这两台计算机是能够独占线路进行传输数据的。

可是, 假设一条电路上连接了多台计算机,而这些计算机之间须要相互传递数据。就会 出现新的问题。鉴于一台计算机在收发信息时会独占整个电路。其它计算机仅仅能 等待这台计算机处理结束以后才有机会使用这条电路收发数据。

而且在此过程中谁也无法预測某一台计算机的传输数据从何时開始又在何时结束。假设并发用户数超过交换机之间的通信线路数,就意味着通信根本无法实现。为此。人们想到了一个新的方法,即让连接到通信电路的计算机将所要发送的数据分成多个数据包,依照一定的顺序排列之后分别发送。

这就是分组交换。 有了分组交换,数据被细分后,全部的计算机就能够一齐收发数据,这样也就提高了通信线路的利用率。因为在分组的过程中。已经在每一个分组的首部写入了发 送端和接收端的地址,所以即使同一条线路同一时候为多个用户提供服务,也能够明白区分每一个分组数据发往的目的地。以及它是与哪台计算机进行的通信。


在分组交换中,由分组交换机(路由器)连接通信线路。分组交换的大致处 理过程是:发送端计算机将数据分组发送给路由器,路由器收到这些分组数据以 后。缓存到自己的缓冲区,然后再转发给目标计算机。

因此,分组交换也有还有一 个名称:蓄积交换。

路由器接收到数据以后会依照顺序缓存到对应的队列其中,再以先进先出的 顺序将它们逐一发送出去

在分组交换中。计算机与路由器之间以及路由器与路由器之间通常仅仅有一条通信线路。因此,这条线路事实上是一条共享线路。在电路交换中,计算机之间的传输速度不变。然而在分组交换中,通信线路的速度可能会有所不同。

依据网络拥堵的情况,数据达到目标地址的时间有长有短。另外。路由器的缓存饱和或溢出时。甚至可能会发生分组数据丢失、无法发送到对端的情况。


上图已经展示了电路交换和分组交换的特点。







版权声明:这篇文章的博客(http://blog.csdn.net/yelangjueqi)原创文章。博客,未经同意,不得转载。

本学习笔记TCP/IP传输协议的更多相关文章

  1. Linux学习(1)- TCP/IP网络协议基础

    Linux学习(1)- TCP/IP网络协议基础 一.TCP/IP 简介 学习内容 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输 ...

  2. tcp/ip学习笔记-TCP

    tcp/ip学习笔记-TCP 彭会锋 报文发送采用的是tcp_output函数,

  3. TCP/IP四层协议模型与ISO七层模型

    TCP/IP四层协议模型与ISO七层模型 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中上帝打乱了各地人的口音,让他 ...

  4. TCP/IP网络协议基础

    实验楼学习网络协议传送门 一.TCP/IP简介 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输控制协议和网络协议的简称,它定义了电 ...

  5. 对TCP/IP网络协议的深入浅出归纳

    前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没弄清楚.后来 我花了一些时间去了解这些网络协议,现在对TCP/IP网 ...

  6. 转:对TCP/IP网络协议的深入浅出归纳

    转自:http://blog.jobbole.com/74795/ 前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没 ...

  7. 对TCP/IP网络协议的深入浅出归纳(转)

    前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没弄清楚.后来 我花了一些时间去了解这些网络协议,现在对TCP/IP网 ...

  8. TCP/IP网络协议的通俗理解,SOCKET,HTTP,SOAP

    TCP/IP,HTTP,SOAP等协议之区别   术语TCP/IP代表传输控制协议/网际协议,指的是一系列协议.“IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络.把IP想 ...

  9. 计算机网络【1】—— OSI七层协议和TCP/IP四层协议

    新开一贴,专门用来记录计算机网络相关知识. 一.OSI七层协议 物理层.数据链路层.网络层.传输层.会话层.表示层.应用层 二.TCP/IP四层协议 网络接口层.网际层.运输层.应用层 三.五层协议 ...

随机推荐

  1. Socket tips: UDP Echo service - Client code

    #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/soc ...

  2. Linux 的 Shell

    一个:Shell 概念 shell 这个词是不奇怪,意思是 "壳" 这是间OS 用户和芯层之间的相互作用,在linux系统.用户可以通过命令终端.使用shell 命令向下传达他们的 ...

  3. WPF学习(10)模板

    在前面一篇我们粗略说了Style和Behaviors,如果要自定义一个个性十足的控件,仅仅用Style和Behaviors是不行的,Style和Behaviors只能通过控件的既有属性来简单改变外观, ...

  4. Python补充04 Python简史

    原文:Python简史 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python是我喜欢的语言,简洁,优美,容易使用.前两天, ...

  5. hdu4758 Walk Through Squares (AC自己主动机+DP)

    Walk Through Squares Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others ...

  6. 【CTO辩论】移动创业大军:谁斗争or变更代理

    众创时代.英雄辈出. 但千军万马过独木桥,竞争厮杀也异常残酷.有人说,这个时代不宜创业,由于技术门槛高了.推广难度高了.盈利模式没了.创业变重了.玩法变了...... 也有人说,时势造英雄.天时地利人 ...

  7. oracle_单向函数_数字化功能

    oracle_单向函数_数字化功能 1.abs(x)   为了获得x绝对值 2.ceil(x)   用于获得大于或等于x的最小整数. 3.floor(x)   用于获得小于或等于x 4.mod(x,y ...

  8. CentOS7 安装Hadoop集群环境

    先按照上一篇安装与配置好CentOS以及zookeeper http://www.cnblogs.com/dopeter/p/4609276.html 本章介绍在CentOS搭建Hadoop集群环境 ...

  9. Cytoscape画图初探

    Cytoscape是一个做网络图的js插件.用起来非常方便,并且非常强大.这是它的站点:点击打开链接 使用它须要导入两个文件,一个是js文件,一个是css文件.官网上下载. 这里实现了一个功能.即从后 ...

  10. net网站运行在自定义的Web服务器上

    ASP.NET 开发必备知识点(1):如何让Asp.net网站运行在自定义的Web服务器上   一.前言 大家都知道,在之前,我们Asp.net 的网站都只能部署在IIS上,并且IIS也只存在于Win ...