计算机网络TCPIP小结_第1页
计算机网络TCPIP小结_第2页
计算机网络TCPIP小结_第3页
计算机网络TCPIP小结_第4页
计算机网络TCPIP小结_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机网络TCP/IP小结前期为了移植lwip到ucosii上,发现对TCP/IP基本上不懂,看代码完全糊涂。无奈,在书柜里翻了一本教材,计算机网络(第5版

谢希仁),零零散散的看完了,现在小结一下,省的以后忘记。TCP/IP概念:TransmissionControl

Protocol/Internet

Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP

定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。该协议是十分可靠的协议

从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层(来源于百度百科)

一、物理层物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,,而不是指具体的传输媒体。屏蔽差异,是数据链路层感觉不到差异。二、数据链路层数据链路层属于计算机网络的底层,软件编写也是从这一层开始。该层主要负责处理硬件地址MAC。数据链路层把网络层交下来的数据构成帧发送到链路上,以及把接收到的帧中的数据取出来上交给网络层。在因特网中,网络层协议数据单元就是IP数据报(或简称数据报、分组或包)。在数据链路层广泛使用的是CRC校验,若校验出错,则丢弃该帧,以免占用网络资源。在以太网中数据链路层就是MAC层。一台计算机应该有两个地址,一个是网络地址,就是IP,一个是硬件地址,就是MAC(6字节,48位),MAC地址是固化在计算机适配器的ROM中的。MAC(Media

AccessControl)地址,或称为MAC位址、硬件位址,用来定义网络设备的位置。在OSI模型中,第三层网络层负责

IP地址,第二层资料链接层则负责MAC位址。因此一个主机会有一个IP地址,而每个网络位置会有一个专属于它的MAC位址。(百度百科)MAC帧格式它由6个字节的目的MAC地址,6个字节的源MAC地址,2个字节的类型域(用于表示装在这个帧里面数据的类型,可指定为IP包类型)在系统的输入输出中,MAC帧是最原始的数据,是软件最先得到或最后发送的数据。还有数据在各个路由器转发中mac帧是变化的,只指向当前的目的和源硬件地址。但IP是不变的数据链路层还有个PPP协议,当用户需要连接网络就要先连接ISP,就需要使用PPP协议,好像是刚连接网络时使用的,不太理解。以太网中用mac,远程的话就用ppp(如ADSL拨号,就是基于ppp的)。PPP在封装方式以以太网的封装方式不同,它没有以太网帧所要求的MAC地址,它通过自身的协商过程实现点到点的数据传输。(来源于网络)一、网络层网络层主要使用的是IP协议,网络层向上只提供简单灵活、无连接、尽最大努力交付的数据报服务,不提供服务质量的承诺。与IP协议配套使用的还有4个协议

地址解析协议ARP(Address

ResolutionProtocol)

逆地址解析协议RARP(Reverse

Address

ResolutionProtocol)

网际控制报文协议ICMP(Internet

ControlMessage

Protocol)(与ping指令有关)

网际组管理协议IGMP(Internet

GroupManagement

Protocol)将网络互相连接起来要使用一些中间设备,根据设备所在层次,有4种设备

1.物理层的叫转发器(repeater)

2.数据链路层的叫网桥或桥接器(bridge)

3.网络层使用的是路由器(router)

4.网络层以上的叫网关(gataway)IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。按照TCP/IP协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。于是,上面的IP地址可以表示为“”。IP地址的这种表示法叫做“点分十进制表示法”,这显然比1和0容易记忆得多。A、B、C3类(如下表格)由InternetNIC在全球范围内统一分配,D、E类为特殊地址。网络类别最大网络数第一个可用的网络号最后一个可用的网络号每个网络中的最大主机数A126112616777214B16382128.1191.25565534C2097150192.0.1223.255.255254(百度百科)IP地址是标志一个主机(或路由器)和另外一条链路的接口。由于一个路由器至少应当连接到两个网路,因此一个路由器至少有两个不同的Ip地址。和链路层通讯方式:在数据链路层接收到MAC帧时,其根据是MAC帧首部的硬件地址,剥去MAC帧的手部和尾部后把MAC层数据上交到网络层,网络层才能在IP数据包首部找到源IP和目的IPARP协议:通过已知的IP地址找到对方的MAC地址。

RARP协议:通过对方的硬件地址找到对应的IP地址ARP协议实现:每个主机都有一个ARP高速缓存,里面有IP地址到硬件地址的映射表,并实时更新,若本机没有,则在本局域网内广播发送ARP请求分组,若本局域网没有,通过路由器转发。IP数据报格式IP数据报

(IP

Datagram)。这是一个与硬件无关的虚拟包,由首部和数据两部分组成。首部的前一部分是固定长度,共

20

字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。首都中的源地址和目的地址都是

IP

协议地址。那么IP数据报格式又是怎样要求的呢?

1.IP数据报首部的固定部分中的各字段

①版本:占4位,指IP协议的版本。通信双方使用的IP协议版本必须一致。日前广泛使用的

IP协议版本号为

4

(即

IPv4)。IPv6

目前还处于起步阶段。

②首部长度:占

4

位,可表示的最大十进制数值是

15。请注意,这个字段所表示数的单位是32位字

(

1

个32位字长是4

字节),因此,当

IP

的首部长度为

1111

(即十进制的

15),首部长度就达到

60字节。当

IP

分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。因此数据部分永远在

4字节的整数倍开始,这样在实现

IP协议时较为方便。首部长度限制为

60字节的缺点是有时可能不够用。这样做的目的是希望用户尽量减少开销。最常用的首部长度就是

20

字节

(即首部长度为

0101),这时不使用任何选项。

③服务:占

8

位,用来获得更好的服务。这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。1998年IETF把这个字段改名为区分服务

DS

(DifferentiatedServices)。只有在使用区分服务时,这个字段才起作用。

④总长度:总长度指首都及数据之和的长度,单位为字节。因为总长度字段为

16位,所以数据报的最大长度为

216-1=65

535字节。

在IP层下面的每一种数据链路层都有自己的帧格式,其中包括帧格式中的数据字段的最大长度,即最大传送单元

MTU

(Maximum

Transfer

Unit)。当一个数据报封装成链路层的帧时,此数据报的总长度

(即首部加上数据部分)一定不能超过下面的数据链路层的MTU值。

⑤标识

(Identification):占

16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加

1,并将此值赋给标识字段。但这个“标识”并不是序号,因为

IP是无连接的服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的

MTU

而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。

⑥标志

(Flag):占3

位,但目前只有2位有意义。

标志字段中的最低位记为

MF

(More

Fragment)。MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。标志字段中间的一位记为

DF(Don't

Fragment),意思是“不能分片”。只有当

DF=0时才允许分片。

⑦片偏移:占

13位。较长的分组在分片后,某片在原分组中的相对位置。也就是说,相对用户数据字段的起点,该片从何处开始。片偏移以

8个字节为偏移单位。这就是说,每个分片的长度一定是

8字节

(64位)的整数倍。

⑧生存时间:占

8位,生存时间字段常用的英文缩写是TTL

(Time

To

Live),其表明数据报在网络中的寿命。由发出数据报的源点设置这个字段。其目的是防止无法交付的数据报无限制地在因特网中兜围子,因而白白消耗网络资源。最初的设计是以秒作为

TTL的单位。每经过一个路由器时,就把TTL减去数据报在路由器消耗掉的一段时间。若数据报在路由器消耗的时间小于

1

秒,就把TTL值减

1。当

TTL值为

0时,就丢弃这个数据报。

⑨协议:占

8

位,协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程。

⑩首部检验和:占

16位。这个字段只检验数据报的首部,但不包括数据部分。这是因为数据报每经过一个路由器,都要重新计算一下首都检验和

(一些字段,如生存时间、标志、片偏移等都可能发生变化)。不检验数据部分可减少计算的工作量。

⑾源地址:占32位。

⑿目的地址:占

32位。

2.IP数据报首部的可变部分

IP首都的可变部分就是一个可选字段。选项字段用来支持排错、测量以及安全等措施,内容很丰富。此字段的长度可变,从

1

个字节到40个字节不等,取决于所选择的项目。某些选项只需要

1

个字节,它只包括

1

个字节的选项代码。但还有些选项需要多个字节,这些选项一个个拼接起来,中间不需要有分隔符,最后用全0

的填充字段补齐成为

4字节的整数倍。

增加首都的可变部分是为了增加

IP

数据报的功能,但这同时也使得

IP

数据报的首部长度成为可变的。这就增加了每一个路由器处理数据报的开销。实际上这些选项很少被使用。新的

IPv6就将

IP数据报的首部长度做成固定的。IP数据包的总长度过大,超过链路的最大MTU时,数据包就会被分成多片,而在如今的IPv4的网络中,数据传输时不可靠的,是尽力而为的,所以这些分片的数据单元到达对端的链路和时间都是不同的,

对端根据IP首部中的标示符(Identification)、标志(Flag)、段偏置值字段重组数据包。(来源于网络)

运输层运输层是整个网络体系结构中的关键层次之一,主要的协议有TCP、UDP。从运输层角度看,通信的真正端点并不是主机而是主机中的进程。运输层提供应用进程间的逻辑通信。运输层向高层用户屏蔽了下面网络核心的细节,它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信,当面向连接的TCP协议时,尽管下面的网络是不可靠的,但这种通信信道就像是全双工的可靠信道。但当运输层采用无连接的UDP时,这种逻辑通信信道仍然是一条不可靠信道。用户数据报协议UDP(User

Datagram

Protocol)UDP是一种无连接的、不可靠的传输层协议;

在完成进程到进程的通信中提供了有限的差错检验功能;

设计比较简单的UDP协议的目的是希望以最小的开销来达到网络环境中的进程通信目的;

进程发送的报文较短,同时对报文的可靠性要求不高,那么可以使用UDP协议

UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。UDP首部格式总长度UDP用户数据报的长度,最小值为8(仅有首部)

检验和

把首部和数据部分一起检验了。

传输控制协议TCP(Transimision

Control

Protocol)TCP主要特点

1、TCP是面向连接的运输层协议,应用程序在使用TCP之前,必须先简历TCP连接。在传送数据完毕后,必须释放已经建立的TCP连接。

2、每一条TCP连接只能有两个端点(endpoint)。TCP连接的端点叫做套接字(socket)。

3、TCP提供可靠的交付服务。

4、TCP提供全双工通信,两端都设有发送缓存和接收缓存。

5、面向字节流。TCP报文首部格式源端口和目的端口:各占2个字节,是运输层与应用层的服务接口。序号:占4个字节。TCP连接传送的数据流中的每一个字节都被编上一个序号。首部中序号字段的值指的是本报文段所发送的数据的第一个字节的序号。确认号:占4个字节,是期望收到对方下一个报文段的数据的第一个字节的序号。数据偏移:占4

bit,它指出报文段的数据起始处距离TCP报文段的起始处有多远。实际上就是TCP报文段首部的长度。保留:占6

bit,保留为今后使用。紧急比特URG:当URG=1时,表明紧急指针有效。它告诉系统报文段中有紧急数据,应尽快传送。确认比特ACK:ACK=1时确认号字段才有效,ACK=0时确认号字段无效。推送比特PUSH:接收方接收到PUSH=1的报文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论