TCP/IP详解 笔记一
概述:
Tcp-ip让网络上的计算机进行通信,而不管计算机和操作系统是否一样。
分层结构:
Tcp/ip协议族是多层协议的组合,而tcp和ip只是其中的两个协议而已。
一个通信举例:
注意图的右上方:一般情况下下三层由操作系统实现;用户程序只管处理细节,而下三层只管网络数据传输。
两个不同类型的网络通过路由器连接
在 T C P / I P协议族中,网络层 I P提供的是一种不可靠的服务。也就是说,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。而另一方面,T C P在不可靠的 I P层上提供了一个可靠的运输层。为了提供这种可靠的服务, T C P采用了超时重传、发送和接收端到端的确认分组等机制。
从定义上看,一个路由器具有两个或多个网络接口层(因为它连接了两个或多个网络)。连接网络的另一个途径是使用网桥。网桥是在链路层上对网络进行互连,而路由器则是在网络层上对网络进行互连。网桥使得多个局域网( L A N)组合在一起,这样对上层来说就好像是一个局域网。
协议族的不同层次以及相互关系
互联网的地址
地址范围
有三类 I P地址:单播地址(目的为单个主机)、广播地址(目的端为给定网络上的所有主机)以及多播地址(目的端为同一组内的所有主机)。
域名系统
在 T C P / I P领域中,域名系统( D N S)是一个分布的数据库,由它来提供 I P地址和主机名之间的映射信息。
封装
Tcp段,udp报,ip报,以太网帧,分组
T C P和 U D P都用一个 1 6 b i t的端口号来表示不同的应用程序。T C P和 U D P把源端口号和目的端口号分别存入报文首部中。
Ip头部都有一个8bit的协议域用来指明上层协议
网络接口分别要发送和接收 I P、 A R P和 R A R P数据,因此也必须在以太网的帧首部中加入某种形式的标识,以指明生成数据的网络层协议。为此,以太网的帧首部也有一个 16 bit的帧类型域。
Tcp段,udp报,ip报,以太网帧,分组
T C P和 U D P都用一个 1 6 b i t的端口号来表示不同的应用程序。T C P和 U D P把源端口号和目的端口号分别存入报文首部中。
Ip头部都有一个8bit的协议域用来指明上层协议
网络接口分别要发送和接收 I P、 A R P和 R A R P数据,因此也必须在以太网的帧首部中加入某种形式的标识,以指明生成数据的网络层协议。为此,以太网的帧首部也有一个 16 bit的帧类型域。
分用
为协议 I C M P和 I G M P定位一直是一件很棘手的事情。在图 1 - 4中,把它们与 I P放在同一层上,那是因为事实上它们是I P的附属协议。但是在这里,我们又把它们放在 I P层的上面,这是因为ICMP和IGMP报文都被封装在IP数据报中。
对于 A R P和R A R P,我们也遇到类似的难题。在这里把它们放在以太网设备驱动程
序的上方,这是因为它们和 I P数据报一样,都有各自的以太网数据帧类型。但在图 2 - 4
中,我们又把 A R P作为以太网设备驱动程序的一部分,放在 I P层的下面,其原因在逻
辑上是合理的。
i n t e r n e t意思是用一个共同的协议族把多个网络连接在一起。而 I n t e r n e t指的是世界范围内通过 T C P / I P互相通信的所有主机集合(超过 1 0 0万台)。 I n t e r n e t是一个 i n t e r n e t,但 i n t e r n e t不等于 I n t e r n e t。
应用编程接口
使用 T C P / I P协议的应用程序通常采用两种应用编程接口( A P I): s o c k e t和 T L I(运输层接口: Transport Layer Interface)。
TCP/IP详解 笔记一的更多相关文章
- TCP/IP详解 笔记十四
TCP/IP协议(二) 连接的建立与终止 tcpdump -S输出TCP报文的格式 格式: 源>目的:标志 (标志就是tcp头部).标识首字符意义如下: 例如:telnet 某服务的输出(包括 ...
- TCP/IP详解 笔记十三
TCP协议(一) 概述 特点 1, 面向连接可靠的字节流服务 2, 只有两方通信,不能用于广播或多播 3, 应用数据被TCP分隔为最合适发送的数据段,传给IP协议栈 4, 发送端并启动定时器, ...
- TCP/IP详解 笔记十一
域名服务系统(DNS) DNS:名字到IP转换:电子邮件选路信息:分布式数据库 解析器:是通过gethostbyname(3)和gethostbyaddr(3)来实现的 最常用的名字服务器是BIND ...
- TCP/IP详解 笔记九
广播和多播 多播和广播只能用于UDP包,TCP明确在两个进程间建立连接. 多播:帧只传送给属于多播组的多个接口 主机对帧的过滤过程: 通常网卡只接收那些目的地址为本物理接口地址或广播地址的帧:设置为混 ...
- TCP/IP详解 笔记八
UDP协议 UDP是传输层协议,提供无连接不可靠的数据传输,其优点失效率高,确定确定是无序不可靠. 报文格式 UDP头部 TCP和UDP的端口号是独立的 UDP长度是指UDP数据报的总长度 UDP的校 ...
- TCP/IP 详解笔记
最早的 TCP 协议文档是 RFC793. TCP 提供一种面向连接的.可靠的字节流服务. 面向连接容易理解,那么什么是字节流服务呢? 答:两个应用程序通过 TCP 连接交换 8 bit 字节构成的字 ...
- TCP/IP详解 笔记十二
简单文件传送协议 TFTP 1) 初衷是为了引导无盘系统 2) 使用UDP 3) 代码都能适合只读存储器 无盘主机通过RARP获得ip地址后进行一个TF ...
- TCP/IP详解 笔记十
IGMP Internet组管理协议 IGMP的作用:让一个物理网络上的所有系统知道主机所在的多播组: 让路由器知道多播数据报应该向哪个端口转发. IGMP有固定长度,没有可选数据,在ip头部的协议值 ...
- TCP/IP详解学习笔记
TCP/IP详解学习笔记(1)-基本概念 TCP/IP详解学习笔记(2)-数据链路层 TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议 TCP/IP详解学习笔记(4)-ICMP协议, ...
随机推荐
- Apache Shiro权限框架在SpringMVC+Hibernate中的应用
在做网站开发中,用户权限必须要考虑的,权限这个东西很重要,它规定了用户在使用中能进行哪 些操作,和不能进行哪些操作:我们完全可以使用过滤器来进行权限的操作,但是有了权限框架之后,使用起来会非常的方便, ...
- 本地不安装Oracle,plsql远程连接数据库
由于Oracle的庞大,有时候我们需要在只安装Oracle客户端如plsql.toad等的情况下去连接远程数据库,可是没有安装Oracle就没有一切的配置文件去支持.最后终于发现一个很有效的方法,Or ...
- 绕过D盾安全狗连接菜刀
0x00 各种奇葩符号 现在基本上没啥用了,毕竟几年前的小玩意儿 /;.xxx.asp;.jpg /;.asp/.jpg 像这种各位看官可以忽略了,毕竟某狗和某盾也不是吃干饭的,写出来只是为了纪念一下 ...
- css3高级运动keyframes
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- VS2010引用App_Code下的类文件问题解决方法
原文连接:http://blog.csdn.net/zjlovety/article/details/7658528 VS2020中“添加ASP.NET文件夹”里没有App_Code,添加普通文件夹然 ...
- 【MySQL】游标的具体使用详解
测试表 level ; )); 再 insert 些数据 ;代码,初始化 drop procedure if exists useCursor // 建立 存储过程 create CREATE PRO ...
- 关于RACK的一点简单介绍
0 前言 如有错误欢迎指出,如需转载,请注明原文链接. 1 Rack是什么 一句话介绍,Rack是一个Web接口,定义了一系列的标准,具体实现的工作是交给服务器(puma, thin等)做的. 如果你 ...
- unity触发器和碰撞器
Unity中检测碰撞的方法有两种,一种是触发器一种是碰撞器,现在我来解释一下两种的区别. 触发器:有三种方法,分别是OnTriggerEnter,OnTriggerStay,OnTriggerExit ...
- [转]Windows网络编程学习-面向连接的编程方式
直接附上原文链接:windows 网络编程学习-面向连接的编程方式
- Android屏蔽返回键
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_BACK) ...