分享 | TCP/IP协议
THE OSI MODLE 开放互联参考模型
Application Layer | 应用层
为应用程序提供服务
操作系统上装程序,自己开发
标准 HTTP 80、HTTPS 443、FTP 21、SSH 22、POP/SMTP 25 (SSL 465) 等
Persentation Layer | 表示层
数据格式化,数据加密
文件的格式&类型 PNG JPEG MPEG AVI MKV MP4 TS WEBP 等
Session Layer | 会话层
建立、管理和维护会话
Linux /Unix C语言编程 控制包数据
Transport Later | 传输层
建立、管理和维护端到端的连接
TCP稳定传输 UDP不稳定传输 SSH服务
Network Layer | 网络层
IP地址及路由选择
IP地址,路由器 三层网络=> 公网IP
相当于家庭地址(与全世界互联)局域网IP
Datalink Layer | 数据链路层
提供介质访问和链路管理
标准MAC地址
二级网络 交换机
Physical Layer | 物理层
常用标准:RJ-11 RJ-45
一般情况厂商提供的水晶头即是: RJ-45
水晶头:塑料 ,接触片:镀金,纯铜,镀铜
TCP/IP 协议簇
概述
总述
- TCP/IP协议簇是为了让不同厂家生成各种型号并运行完全不同的操作系统的计算机互相进行通信
分层
应用层
- Telnet
- FTP
运输层
- TCP
- UDP
网络层
- IP
- ICMP
- IGMP
链路层
- 设备驱动
- 接口卡
IP地址
分类
- A类:0.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 ~ 247.255.255.255
管理
- InterNIC只分配网络号,系统管理员分配主机号
DNS域名系统
- 提供IP地址到主机名的映射
封装
分用
客户-服务模型
端口号
- 用来区分不同的应用程序
标准化过程
由四个小组在负责Internet技术
- Internet协会(ISOC)
- Internet体系结构委员会(IAB)
- Internet工程专门小组(IETF)
- Internet研究专门小组(IRIF)
RFC
- Internet的正式标准都以RFC(Request for Comments)文档出现
链路层
概述
TCP/IP支持多种链路协议,链路层使用什么协议取决于网络所使用的硬件
- 以太网
- 令牌环网
- RS-232串线线路
以太网和IEEE802封装对比
共同点
- 都采用了CSMA/CD的媒体接入方法
不同点
- 帧格式
公布机构
以太网
- 数字设备公司
- 因特尔公司
- Xerox公司
IEEE 802
IEEE 802委员会公布(四个部分)
- IEEE 802.2
- IEEE 802.3
- IEEE 802.4
- IEEE 802.5
最小帧的数据部分长度
以太网
- 数据部分最少要46字节,最小帧长度为64字节,6字节(目的地址)+6字节(源地址)+2字节(类型)+46字节(数据)+4字节(CRC)=64字节
IEEE 802
- 数据部分最少要38字节,最小帧长度为64字节,6字节(目的地址)+6字节(源地址)+2字节(长度)+1字节(DSAP)+1字节(SSAP)1字节(enti)+3字节(org code)+2字节(类型)+38字节(数据)+4字节(CRC)=64字节
SLIP
TCP/IP支持多种链路协议,链路层使用什么取决于硬件
- 以太网
- 令牌环网
- RS-232串线线路
PPP
- PPP通常用在两节点创建的连接。还可在互联网上连接上,互联网服务商(ISP)使用PPP为用户提供到Internet的拨号接入
还回接口
地址
- 127.0.0.1
命名
- localhost
I P
特点
不可靠
- 不保证IP能够成功到达目的地
- 出错后,丢弃数据报,通过ICMP消息报给信源端
无连接
- 只管发生数据报,不管数据报到达的顺序
IP首部
IP路由选择
描述
- 目的主机和源主机在同一网络或连接
- IP数据报直接发到目的主机
路由表组成
- 目的地址
- 下一站路由器IP
标记
- 指明目的IP地址是网络地址还是主机地址
- 指明下一站路由器是否为真正的下一站路由器
- netstat
- ipconfig
- 子网掩码
- 子网寻址
RARP
作用
- 无盘系统通过PARP读取硬件地址,然后发送某个主机响应无盘系统的IP地址
格式
- RARP格式是级别和ARP格式一致的,差别是RARP请求应答是帧类型代码为0x8035
不是所有TCP/IP事先都提供RARP服务器
ICMP
概述
- ICMP被封装在IP数据报内
类型
- 根据Type的值进行区分
使用
地址掩码请求和应答
- 用于无盘系统在引导过程中获取自己的子网掩码
Type
- Type 17-Address Mask Request (Deprecated)
- Type 18-Address Mask Reply(Deprecated)
时间戳请求与应答
- 查询当前的时间,返回UTC格式
Type
- Type 13- Timestamp
- Type 14- Timestamp Reply
端口不可达错误
- 使用traceroute会产生这种类型的ICMP数据报
- ICMP报文的4.4BSD处理
Ping
作用
- 发送ICMP回显请求报文给主机,用来测试主机是否可达
- IP记录路由
- 时间戳选项
Ping程序
- ICMP回显请求
- ICMP回显应答报文格式
使用
- LAN输出
- WAN输出
- 线路SLIP链接
- 拨号线路SLIP链路
时间戳选项
记录路由选项
Tranceroute
作用
- 可以看到IP数据报从一台主机传到另外一台主机所经过的路由
和IP记录路由选项(RR)的区别
- 部分路由器不支持RR
- 记录路由一般都是单项
- IP首邮选项字段最多只能放9个IP地址
操作过程
- 使用ICMP报文和IP首邮中的TTL
- TTL是一个跳站计数器,每经过一个路由器值减一,当值为0时,路由器将丢弃这个数据报
命令
Windows 系统
- tracert domain.com
Linux 系统
- traceroute
IP选路
概述
- 进行选路的数据报可能由主机产生
- 其他主机
选路原理
路由表
搜索路由步骤
- 搜索匹配的主机地址
- 搜索匹配的网络地址
- 搜索默认表项
参数
- U:该路由可以使用
G
- 该路由是一个网关(路由器)
- 直接路由(不设置G),分组包含的端的IP和物理地址
- 间接模式(设置为G),分组包含目的的IP和下一站域名的地址
H:该路由时到一个主机
- 设置H,该地址是完整的主机地址
- 不设置H,该地址是一个网络地址
- D:这路由是由重定向报文创建
- M:这路由被重置向报文修改
初始化路由表
- 初始化一个端口时,创建一个直接路由
新建路由选项
- route add
- 通过ICMP路由器发现报文
没有到达目的地的路由
- 发送不可达数据报
- ICMP重定向
- 转发或不转发
动态路由协议
作用
- 当静态路由选路失败时,使用动态路由选择
动态选路
路由守护进程
- 从路由器收集信息,更新内核中的路由表
- 路由是由路由守护程序动态地增加或删除的
选路协议
内部网关协议(IGP)
- 选路信息协议(RIP)
- 开放最短路径优先(OSPF)
- 外部网关协议(EGP)
Unix选路守护程序
routed
- 只使用RIP进行通信
gated
- ICP和EGP都支持它