TCP/IP 1.1概述

为什么需要分层设计

如果没有分层设计,一个软件厂商需要设计所有通信细节,包含物理层接口与信号编码,地址寻址,传输机制与保障
(腾讯做通信软件,Cisco做路由器,华为做交换机,安普做网线和水晶头)

OSI参考模型遵循的几大原则

各个层之间有清晰的边界,便于理解
每个层实现特定的功能,且相互不影响 每个层是服务者又是被服务者,即为上一层服务,又被下一层服务
层次的划分有利于国际标准协议的制定;
层次的数目应该足够多,以避免各个层功能重复

OSI七层模型

上三层  APDU	应用层     	7.提供应用程序间通信
			PPDU	表示层		6.处理数据格式、数据加密等  修饰应用层的数据
			SPDU	会话层		5.建立、维护和管理会话   	两个进程之间建立会话
下四层	Segment		传输层		4.建立主机端到端连接		两个主机之间建立会话
			Packet	网络层		3.寻址和路由选择			逐跳
			Frame	数据链路层	2.提供介质访问、链路管理等	逐介质
			Bit		物理层		1.比特流传输

OSI参考模型遵循的几大优点

提供即插即用的兼容性和不同厂商之间的标准接口;
	把复杂的网络问题分解为小的简单问题,易于学习和操作
TCP/IP模型每层的作用
	链路层:处理与电缆(或其他任何传输媒介)的物理接口细节    	 设备驱动程序及接口
	网络层:处理分组在网络中的活动,例如分组选路				IP、ICMP和IGMP				
	运输层:	为两台主机上的应用程序提供端到端的通讯				TCP和UDP
	应用层:处理特定的应用程序细节								Telnet、FTP和e-mail等

运行FTP的两台主机

	大多数的网络应用程序都被设计成客户-服务器模式
	双方都有对应的一个或多个协议进行通讯
	应用程序通常是用户进程,而下三层一般在内核执行。
	应用层关心应用程序的细节,下三层处理通讯细节。

通过路由器连接的两个网络

	端系统   PC
	中间系统  路由器
	应用层和运输层使用端到端协议
	网络层提供的是逐跳协议
	网络IP提供的是一种不可靠的服务,它只是尽可能快的把分组从源站点送到目的结点,但不提供可靠性保障。  发出的报不一定能收的着,发出去的顺序也不一定是接收的顺序
	TCP在不可靠的IP层上提供一个可靠的运输层
	互联网的目的之一就是在应用程序中隐藏所有的物理细节。

TCP/IP协议族中不同层次的协议

TCP使用不可靠的IP服务,并提供一种可靠的运输层服务
	UDP为应用程序发送和接收数据报,和TCP不同
	UDP是不可靠的。(查询:DNS 数据传输:TFTP 实时流量:语音视频流)   效率高
		假如TCP做语音流量,传输的10个字中的两个字丢失了,它会重新传输这两个字,让话语更难被理解
		而用UDP的话,8个字听到了,2个字未听到,基本上不会影响人对整句话意思的理解
		有时候视频看起来是花屏的,这是数据在传输过程中产生了丢包
	IP是网络层上的主要协议,同时被TCP和UDP使用
	ICMP是IP的附属协议
ARP在TCP/IP协议中属于网络层   在OSI中属于数据链路层

封装

以太网数据帧的物理特性使其长度必须在46~1500字节之间  ip头部+IP数据 < 1500字节,超过1500就要分片,长度不够46字节就要垫片
	以太网的帧首部也有一个16bit的帧类型域(ip,arp,rarp)(以太网协议号)
	IP在首部中存入一个长度为8bit的数值,称作协议域(icmp,igmp,tcp,udp,esp,gre)(IP协议号)
	TCP和UDP都用一个16bit的端口号来表示不同的应用程序(ftp,telnet,http)
接收到数据后会一层层剥除,剥除以太网头部,剥除IP头部,剥除TCP头部,剥除应用头部,最后把数据交给正在监听的应用

最基本协议号端口号

以太网协议号
		(IP:0x0800|ARP:0x0806|PPPOE:0x8863 0x8864)
	IP协议号
		(ICMP:1|TCP:6|UDP:17|GRE:47|ESP:50|AH:51)
	端口号
		(FTP:20 21|SSH:22|Telnet:23|SMTP:25|TACACS+:49|HTTP:80:HTTPS:443|IKE:500|Radius 1645 1646 1812 1813)
		前面都是TCP IKE是UDP500 Radius是UDP的

Telnet是一个非常不靠谱的应用,抓包会把账号,密码,和所有的细节都抓出来
ssh对现在的路由器来说几乎不消耗资源,但对以前的老土路由有一定的资源消耗
分用
端口号

服务器一般都是通过知名端口号来识别的(ftp21,telnet23)
	客户端口号又称作临时端口号(即存在时间很短暂)
	大多数TCP/IP实现给临时端口分配1024~5000之间的端口号
	大于5000的端口号是为其他服务器预留的(Internet上不常用的服务)

大多知名端口为奇数的由来

这些端口号是从NCP端口号派生出来的(NCP 即网络控制协议,是ARPANET的运输层协议,是TCP的前身)。NCP是单工的,不是全双工的,因此每个应用程序需要连接连接,需要预留一对技术和偶数端口号。当TCP和UDP称为标准的运输层协议时,每个应用程序只需要一个端口号,因此就使用了NCP中的奇数。
	HTTP并不是最老的一批网络协议
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值