乾颐堂现任明教教主(2014年课程)TCPIP协议详解卷一 第一节课笔记
为什么要分层?
如果没有分层,一个软件厂商需要设计所有的通信细节,包含物理层接口与信号编码,地址寻址,传输机制与保障。让专业的厂商做更专业的事情。
(腾讯做通信软件,cisco做路由器,华为做交换机,安普做网线和水晶头)
OSI参考模型准寻的几大原则:
1 各层之间有清晰的边界,便于理解。
2 每个层实现特定的功能,且互不影响。
3 每个层既是服务者又是被服务者,即为上一层服务,又被下一层服务。
4 层次的划分有利于国际标准协议的制定。
5 层次的数目应该足够多,以避免各层功能重复。
OSI参考模型的几大优点
1 简化了相关网络的操作
2 提供即插即用的兼容性和不同厂商之间的标准接口
3 使各个厂商能够设计出互操作的网络设备,加快数据通信网络发展。
4 防止一个区域网络变化影响另一个区域的网络,因此每一个区域的网络都能够快速升级
5 把复杂的网络问题分解为小的简单的问题,易于学习和操作。
视频中举例解释了OSI参考模型每一层的功能,建议观看。TCPIP 模型为四层,其中osi前三层为TCPIP中的应用层。
每层的应用:
链路层:处理与电缆(或其他任何传输媒介)的物理接口细节。Mac地址,逐介质。
网络层:处理分组在网络中的活动,例如分组选路,逐跳转发,ip数据包,例子中,源是北京,目的地是上海,网络层要查路由表,北京到上海下一跳应该是江苏。查路由表,判断最优的路线。
传输层:为两台主机上的应用程序提供端到端的通信。主机到主机之间的通讯。
应用层:处理特定的应用程序细节。应用程序到应用程序之间的通讯、端到端的通讯。
运行FTP的两台主机大多数的网络应用程序都被设计成 客户-服务器模式,双方都对应的一个或多个协议进行通讯,应用程序通常是用户进程,而下三层一般在内核执行。应用层关心ing用程序的细节,下三层处理通讯细节。
通过路由器链接的两个网络端系统和中间系统
应用层和运输层使用端到端的协议
网络层使用的使逐跳协议
网络IP提供的是一种不可靠的服务,他只是尽可能快的把分组从源节点送到目的节点,但不提供可靠性保障。
TCP在不可靠的IP层上提供一个可靠的运输层
互联网的目的之一就是在应用程序中隐藏所有的物理细节。
为什么ip不可靠但是在ip之上的tcp是可靠的?
淘宝买家与淘宝卖家模型淘宝卖家与淘宝买家之间相当于TCP,因为只有在买家确认收货之后,才会完成交易。
货物运输使用的快递相当于IP模型,因为运输过程中存在丢包的可能。快递知识尽快把货物运输过去。
TCP/IP协议族中不同层次的协议
TCP使用不可靠的IP服务,并提供可靠的运输层服务。
UDP为应用程序发送和接收数据报,和TCP不同,UDP是不可靠的
IP是网络层上的主要协议,同时被TCP和UDP使用
ICMP是IP协议的附属协议。
UDP应用:
实时流量一定用udp,例如:语音视频流
查询:DNS
数据传输:TFTP(停止等待协议,效率低)
封装
以太网数据帧,包含IP头部和ip数据部分,不能超过1500字节。最长长度1500,超过1500要分片,最短长度46,不够46要补0。
每一层通过协议号串联在一起
Ipv4 通过协议号串联。
最基本的协议号端口号
在端口号中,IKE 和Radius 为UDP,前面的为TCP
以FTP为例,20表示数据信道,21表示控制信道,SSH(加密的Telnet):22
Telnet:23 远程登陆的协议
SMTP:25 邮件协议
端口号例子:
分清去的流量(客户到服务器)和返回的流量(服务器到客户)
去的流量:源端口是随机端口(1024-5000),目的端口是经典端口(例如23)
返回的流量:源端口是经典端口,目的端口是随机端口号。
为什么大多知名端口号为奇数的由来?
TCP是全双工,TCP的前身NCP是半双工的