概述:

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详解 笔记一的更多相关文章

  1. TCP/IP详解 笔记十四

    TCP/IP协议(二)  连接的建立与终止 tcpdump -S输出TCP报文的格式 格式: 源>目的:标志 (标志就是tcp头部).标识首字符意义如下: 例如:telnet 某服务的输出(包括 ...

  2. TCP/IP详解 笔记十三

    TCP协议(一) 概述 特点 1,  面向连接可靠的字节流服务 2,  只有两方通信,不能用于广播或多播 3,  应用数据被TCP分隔为最合适发送的数据段,传给IP协议栈 4,  发送端并启动定时器, ...

  3. TCP/IP详解 笔记十一

    域名服务系统(DNS) DNS:名字到IP转换:电子邮件选路信息:分布式数据库 解析器:是通过gethostbyname(3)和gethostbyaddr(3)来实现的 最常用的名字服务器是BIND ...

  4. TCP/IP详解 笔记九

    广播和多播 多播和广播只能用于UDP包,TCP明确在两个进程间建立连接. 多播:帧只传送给属于多播组的多个接口 主机对帧的过滤过程: 通常网卡只接收那些目的地址为本物理接口地址或广播地址的帧:设置为混 ...

  5. TCP/IP详解 笔记八

    UDP协议 UDP是传输层协议,提供无连接不可靠的数据传输,其优点失效率高,确定确定是无序不可靠. 报文格式 UDP头部 TCP和UDP的端口号是独立的 UDP长度是指UDP数据报的总长度 UDP的校 ...

  6. TCP/IP 详解笔记

    最早的 TCP 协议文档是 RFC793. TCP 提供一种面向连接的.可靠的字节流服务. 面向连接容易理解,那么什么是字节流服务呢? 答:两个应用程序通过 TCP 连接交换 8 bit 字节构成的字 ...

  7. TCP/IP详解 笔记十二

    简单文件传送协议 TFTP 1)         初衷是为了引导无盘系统 2)         使用UDP 3)         代码都能适合只读存储器 无盘主机通过RARP获得ip地址后进行一个TF ...

  8. TCP/IP详解 笔记十

    IGMP Internet组管理协议 IGMP的作用:让一个物理网络上的所有系统知道主机所在的多播组: 让路由器知道多播数据报应该向哪个端口转发. IGMP有固定长度,没有可选数据,在ip头部的协议值 ...

  9. TCP/IP详解学习笔记

    TCP/IP详解学习笔记(1)-基本概念 TCP/IP详解学习笔记(2)-数据链路层 TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议 TCP/IP详解学习笔记(4)-ICMP协议, ...

随机推荐

  1. java 20 - 8 字节流的文件复制以及汉字在计算机中的存储方式

    复制文本文件:把当前目录下的FileIntputStream.java文件里面的内容复制到当前目录的b.txt文件中 分析: 数据源: FileIntputStream.java -- 读取数据 -- ...

  2. 利用exif.js解决ios手机上传竖拍照片旋转90度问题

    html5+canvas进行移动端手机照片上传时,发现ios手机上传竖拍照片会逆时针旋转90度,横拍照片无此问题:Android手机没这个问题. 因此解决这个问题的思路是:获取到照片拍摄的方向角,对非 ...

  3. Android studio导入eclipse项目混淆打包出错

    将proguard-android.txt复制一份重命名成proguard-rules.pro,且在build.gradle添加 release {             minifyEnabled ...

  4. 域策略禁用usb

    文档及模板可在 http://pan.baidu.com/s/1qYTcjTy  下载 pro_usb_users.adm  此模板可禁用到 指定盘符,针对用户策略 pro_usb_computers ...

  5. 数字签名的定义及在K2 BPM业务流程管理中的应用

    背景介绍 ARX(算法研究)公司是一家数字签名和数据安全解决方案的领先供应商.该公司专门从事结合软件和硬件产品为大中小型计算机环境设计和实现数字签名解决方案. 很多流程都需要和数字签名进行集成,用于审 ...

  6. C# 单点登录 MVC

    实现sso系统的主要难点: 1:不能直接访问数据库,有安全隐患,而且还容易乱套. 2:多个系统需要进行单点登录,逻辑需要严谨,能支持N多系统.而不只是少数几个系统. 3:代码不能过于复杂,需要简洁,灵 ...

  7. Performance Counter的使用——获取各类组件性能,获取CPU参数等

    一 PerformanceCounter 基本介绍1 简单介绍表示 Windows NT 性能计数器组件 命名空间:System.Diagnostics程序集:System(在 system.dll ...

  8. CSS3 chart

    利用CSS3技术生成统计图. 原理:利用元素的百分比算出旋转度数.类似于斗地主时,手拿扑克牌的形状. 程序源码: <!DOCTYPE html> <html> <head ...

  9. Nginx学习记录

    本人刚刚接触Nginx,对这个强大的服务器还没有充分的了解,现在在这里对我在使用Nginx的过程中碰到的一些问题做些总结! 1.ssi配置问题 这里我贴上我的nginx.conf配置文件中server ...

  10. Sonatype Nexus高级配置

    Sonatype Nexus的安装配置参见:CentOS系统中安装Nexus并导入已有的构件库.Nexus内置了Jetty容器,${NEXUS_HOME}/bin/jsw目录下包含了各个操作系统的启动 ...