TCP/IP 协议簇的分层:
应用层、传输层TCP UDP、网络层 IP、数据链路层
分层的好处:
1.
便于维护,各层接口定义好之后,各层功能修改起来不会影响其他层
2.
层次化使得设计变得简单,应用层就不不需考虑传输层具体的对方的地址等等。。。
应用层:决定了向
用户提供应用服务时通信的活动。
例如FTP,DNS,HTTP
传输层:提供处于
网络连接中的两台计算机之间的数据传输
TCP 传输控制协议
UDP 用户数据报协议
网络层(网络链路层):用来处理网络上流动的数据包。该层规定了通过怎样的路径到达对方计算机,并把数据包传送给对方。
当通过多路转发的时候,网络层用于在众多选项中选择一条传输路线。
链路层(数据链路层):用来处理连接网络的硬件部分。包括控制操作系统、网卡等和硬件有关的。
举例:
传输层接收HTTP报文,TCP将其
分割,标记序号,端口号发送网络层
网络层
增加目的地MAC地址,转发给链路层
链路层收到数据发送出去。。。
IP 网际协议:把各种数据包传送给对方。要保证确实传送到对方那里。
ARP协议(Address Resolution Protocol):一种
解析地址的协议,根据通信方
IP地址反查处对应的MAC地址。在数据包中转过程中,利用下一站中转设备的MAC地址搜索下一个目标。
TCP:提供可靠的
字节流服务(字节流是指为了方便传输,把大块数据分割成报文段为单位的数据包)
确保准确送达的机制:三次握手
握手过程中使用的标志SYN(synchronize),ACK(acknowledge)
1. 客户端发送一个带SYN标志的数据包给对方
2. 接收端回传一个SYN/ACK标志的数据包表示确认
3. 发送ACK标志的数据包,表示握手结束
DNS服务:域名解析服务是应用层协议。它提供域名到IP地址之间的解析服务
DNS提供从域名查找IP地址,或者反向从IP查找域名
URI和URL
URI:统一资源标识符,用字符串标识互联网资源。URL是URI的子集
URL:统一资源定位符(网址)
URI格式
http:// user:pass@
www.example.com.jp:80/dir/index.html?uid=1#ch1
协议方案名 登陆信息 服务器地址 端口号 带层次的文件路径 查询字符串 片段标识符
登陆信息(可选):从服务器获取资源时必要的登陆信息
服务器地址:使用绝对URI指定带访问的服务器地址
服务器端口号:服务器链接网络的端口号
带层次的文件路径:指定服务器上特定的文件资源
查询字符串(可选):针对已指定的文件路径内的资源,可以使用查询字符串传入任意参数
片段标识符:使用片段标识符可以标记出以获取资源中的子资源