TCP/IP 第一章 概述
链路层:包含操作系统中的设备驱动程序和计算机中的网卡。网卡连接电缆,由网卡解析电信号。
设备驱动程序由网卡制造商开发,并镶嵌在操作系统内核中。
设备驱动程序用于对网卡的功能进行管理。
网络层:处理分组在网络中的活动,比如分组的选路。
运输层:主要为两台主机上的应用程序提供端到端的通信。(注意是应用程序,通过端口来区分应用程序)
TCP为两台主机提供高可靠性的数据传输,因此,应用程序就不需要再提供可靠性了。
TCP的任务:
(1)将应用程序交给它的数据,分成合适的小块,再将这些小块交给下面的网络层。
(2)确认接收到的分组。
(3)设置超时时钟。
UDP,只是将称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端,因此需要由应用程序来提供可靠性。
应用层:负责处理应用程序细节。
应用程序通常是一个用户进程。
下三层一般在内核中执行。(传输层、网络层、链路层)
应用层关心的是应用程序的细节,而不是数据在网络中的传输活动。
下三层对应用程序一无所知,但它们要处理所有的通信细节。
网络接口层负责处理有关通信媒介的细节(以太网、令牌环网)。
应用层负责处理特定的应用程序(比如FTP和Telnet)。
一个互联网就是一组通过相同协议族互联在一起的网络。
构造互联网最简单的方法:将两个或多个网络通过路由器进行连接。
路由器的好处:为不同类型的物理网络提供连接。(以太网、令牌环网、点对点链接、FDDI(光纤分布式数据接口))
路由器:IP路由器(IP Router)。
现在网关这个术语只用来表示应用层网关,用来连接两种不同协议族的进程。
网络层IP提供的是一种不可靠的服务,它只是尽可能快的把分组从源结点送到目的结点,但并不提供任何可靠性保证。
因此TCP/IP协议族在网络层上提供了一个可靠的运输层。运输层通过以下手段来达到可靠:
(1)超时重传。
(2)发送端和接收端都采用确认收到机制。
因此,网络层和运输层分别负责不同的功能。网络层负责分组的传递,运输层负责可靠性。
一个路由器具有两个或多个网络接口层(网卡),因为它需要连接两个或多个网络。
如果一个主机具有多个网卡,它也可以当做路由器,只要开启它的转发功能即可。即从A网卡转发到B网卡即可。
网桥是在链路层(MAC地址)上对网络进行互连,而路由器则是在网络层(IP地址)上对网络进行互连。
网桥用于连接多个局域网,而路由器用于连接多个广域网。
现在一般使用路由器。
在TCP/IP协议族中,包含多种协议。
以上图示,展示不同层次的协议。
TCP和UDP是两种运输层协议,两者都使用IP协议作为网络层协议。
ICMP协议是IP协议的附属协议,网络层通过该协议(ICMP协议)来与其他主机或者路由器交换错误报文和其他重要信息。
IGMP协议,用于将一个UDP数据报多播到多个主机。(广播:将一个UDP数据报发送到所有主机)
ARP(地址解析协议)和RARP(逆地址解析协议),用于转换IP地址和MAC地址。
多接口主机具有多个IP地址,每个接口都对应一个IP地址。
IP层和网络接口层之间传送的数据单元应该是分组(packet)。
完整的IP数据报可以叫分组,IP数据报的一个片(fragment)也可以叫分组。
解封
FTP服务器的TCP端口号是21。
Telnet服务器的TCP端口号是23。
TFTP服务器的UDP端口号是69。
1 ~ 1023
/etc/services文件记录着哪些服务使用哪些端口。
RFC 1122,数字越大,说明文档越新。