TCP/IP详解001笔记

好久没写了,继续拿这当笔记写
挑战一下自己,看这个寒假能不能把这本书看一半吧

分层

TCP/IP协议族的四个层次:


TCP/IP详解001笔记_第1张图片
image.png

OSI是七层,目前比较常用的是五层。

  • 1、链路层,有时叫网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
  • 2、网络层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)。
  • 3、运输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据包协议)。
    TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。
    UDP则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。
  • 4、应用层负责处理特定的应用程序细节。

在TCP/IP协议族中,网络层IP提供的是一种不可靠服务,也就是说,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。
而另一方面,TCP在不可靠的IP层上提供了一个可靠的运输层,为了提供这种可靠的服务,TCP采用超时重传、发送和接收端到端的确认分组等机制。

任何具有多个接口的系统,英文都称作是多接口的(multihomed)。
一个主机也可以有多个接口,但一般不称作路由器,除非它的功能只是单纯地把分组从一个接口传送到另一个接口。同样,路由器并不一定指那种在互联网中用来转发分组的特殊硬件盒,大多数的TCP/IP实现也允许一个多接口主机来担当路由器的功能,但是主机为此必须进行特殊的配置,在这种情况下,我们既刻意称作该系统为主机(当它运行某一应用程序时,如FTP或Telnet),也可以称之为路由器(当它把分组从一个网络转发到另一个网络时)。

TCP使用不可靠的IP服务,但它却提供一种可靠的运输层服务。
UDP为应用程序发送和接收数据报,一个数据报是指从发送方传输到接收方的一个信息单元(例如,发送方指定的一定字节数的信息),但是UDP是不可靠的,它不能保证数据报能安全无误地到达最终目的。

互联网的地址

互联网上的每个接口必须有一个唯一的Internet地址(也称作IP地址),IP地址长32bit
IP地址分为两部分:网络地址与主机地址。


TCP/IP详解001笔记_第2张图片
image.png

地址范围:
A:1.0.0.0~127.255.255.255
B: 128.0.0.0~191.255.255.255
C:192.0.0.0~223.255.255.255
D:224.0.0.0~239.255.255.255
E:240.0.0.0~255.255.255.255
私有IP地址:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
全1位广播地址
127网段为环回地址。

多接口主机具有多个IP地址,其中每个接口都对应一个IP地址。

封装

当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层知道被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息)。
TCP传给IP的数据单元称作TCP报文段或简称TCP段(TCP segment)
IP传给网络接口层的数据单元称作IP数据报(IP datagram)
通过以太网传输的比特流称作帧(Frame)
以太网数据帧的长度在46-1500字节之间。
更准确的说IP和网络接口层之间传送的数据单元应该是分组(packet)
分组既可以是一个IP数据报,也可以是IP数据报的一个片(fragment)


TCP/IP详解001笔记_第3张图片
image.png

UDP传给IP的信息单元称作UDP数据报(UDP datagram),而且UDP的首部长为8字节

由于TCP、UDP、ICMP和IGMP都要向IP传送数据,因此IP必须在生成的IP首部加入某种标识,以表明数据属于哪一层。为此,IP在首部中存入一个长度为8bit的数值,称作协议域。1表示ICMP协议,2表示为IGMP协议,6表示为TCP协议,17表示为UDP协议。
TCP和UDP都用一个16bit的端口号来表示不同的应用程序,TCP和UDP把源端口号和目的端口号分别存入报文首部中。
网络接口分别要发送和接收IP、ARP和RARP数据,因此也必须在以太网的帧首部中加入某种形式的标识,以指明生成数据的网络层协议。为此,以太网的帧首部也有一个16bit的帧类型域

目前有四个小组在控制着TCP/IP协议族,定义新的标准。
1、Internet协会(ISOC,Internet Society)
2、Internet体系结构委员会(IAB,Internet Architecture Board)
3、Internet工程专门小组(IETF,Internet Engineering Task Force)
4、Internet研究专门小组(IRIF,Internet Research Task Force)

所有关于Internet的正式标准都以RFC(Request for Comment)文档出版。


image.png

image.png

使用TCP/IP协议的应用程序通常采用两种应用编程接口(API):socket和TLI(运输层接口:Transport Layer Interface)

总结:在一个互联网上,每个接口都用IP地址来标识,尽管用户习惯使用主机名而不是IP地址。域名系统为主机名和IP地址之间提供动态的映射,端口号用来标识互相通信的应用程序。服务器使用知名端口号,而客户使用临时设定的端口号。

你可能感兴趣的:(TCP/IP详解001笔记)