图解TCP/IP协议

1,286 阅读4分钟

应用层协议

浏览器与服务端通信

http协议 传输数据格式:HTML

电子邮件通信

MIME协议

文件传输

FTP协议

远程登录

TELNET协议和SSH协议

网络管理

SNMP协议 MIB协议

数据链路层

包括了MAC寻址,介质共享,非公有网络,分组交换,环路检测,VLAN等。

MAC地址:

48bit,几乎不重复

参数含义:

MAC地址转发:

根据数据链路层中每个帧的目标MAC地址,决定从哪个网络接口发送数据

IP协议

IP基础知识

包括了IP寻址、路由、IP分包和组包

路由寻址:先寻找目标地址---再寻找路由地址

路由地址:A类/B类/C类/D类

IPV6使用一种全局的单播地址,它是互联网中唯一的一个地址,不需要正是分配IP地址。

DNS:将字符串转成具体的IP地址

ARP:借助ARP请求与ARP响应两种类型的包确定MAC地址 IP地址和MAC地址缺一不可

以太网发送IP包时,“下次要经由哪个路由器发送数据报”非常重要

RARP:则是从MAC地址定位到IP地址的一种协议

ICMP:目标不可达消息发送到IP地址

DHCP协议:为了实现自动设置IP地址和统一管理IP地址分配

DHCP协议可以实现自动设置IP地址 且保证唯一性

DHCP具有的功能

NAT协议:本地使用私有地址,连接互联网时转而使用全局IP地址

IP隧道:IPV6和IPV4通信

IP多播技术

IP任播为那些提供同一种服务的服务器配置同一个IP地址,并与最近的服务器进行通信的一种方法,适用于IPv4和IPv6

IntServDiffServ来对通信质量进行设置

TCP与UDP协议

传输层定义

IP首部有协议字段,标识传输协议的类型

TCP:面向连接的、可靠的流协议

UDP:不具有可靠性的数据报协议 不一定能保证消息一定到达

基于广播的协议也要依赖于UDP

tip:数据链路--MAC地址 网络层--IP地址

区别通信的方法:源IP地址、目标IP地址、协议号、源端口号、目标端口号 不同则说明是不同的通信

53端口用于DNS服务 80端口用于HTTP通信

UDP

应用场景:

TCP

实现数据传输时各种控制功能 可以进行丢包的重发控制

对次序乱掉的分包进行顺序控制

通过确认应答来提高可靠性(即三次握手的作用)

如果没收到确认应答 未必是没到达

通过序列号方式 保证可靠传输

序列号指的是按顺序发送数据的每一个字节都标上号码的编号

tip 通过序列号和确认应答号 来实现可靠传输

三次握手和四次挥手示意图 重点

通过窗口的方式 实现无需等待确认应答 就继续发下一条请求的需求

窗口大小为4个段

流控制

即通过TCP协议 实现接收端通知发送端实际能够接收数据的大小,于是发送端就不会发送超过这个限制的大小

TCP首部格式

包括了 源端口号 目标端口号 序列号 确认应答号 数据偏移 保留 4个字节 控制位8位 包括了CWR ECE URC ACK PSH RST SYN(建立连接)FIN(不发送数据 断开连接

具体定义参考《图解TCP/IP》

路由协议

静态路由与动态路由

路由器转发逻辑:路由器根据所收到的目标主机的IP地址路由控制表的比较得出下一个应该接收的路由器。

静态路由:将事先设置好路由器和主机中并将路由信息固定的一种方法
动态路由:管理员必须设置好路由协议

主要的路由协议

OSPF协议

链路状态型路由协议

工作原理:

应用层协议概要

SSH

图解TCP/IP 255页

加密远程登录协议

端口转发机制

FTP

走的是 TCP 21号端口

电子邮件 SMTP协议 /MIME协议