TCP/IP协议-入门

  Life is not a rehearsal

  "人生没有彩排"

参考资料TCP/IP入门经典 (第五版)

     TCP/IP详解 卷一:协议

一、什么是TCP/IP

  TCP/IP是一族定义了网络数据传输规则的协议,现在大多数的网络设备都使用TCP/IP协议进行通信

二、TCP/IP分层 

  1、分层

应用层
传输层
网络层
数据链路层

  

  2、各层的主要功能

    ● 数据链路层:处理通信电缆与接口的细节,将网络层传来的IP数据报转化为帧,再转化为比特流,使其能在通信介质之间传输

    ● 网络层:提供逻辑寻址的功能,使数据传输独立于硬件地址

    ● 传输层:为两台主机上的应用程序提供端到端的通信,提供了流量控制、错误控制和确认服务

    ● 应用层:处理特定的应用程序细节

  3、各层上的常见协议及简介

    各层上的协议

        (自己把书上的图重新画了一遍...)

    协议简介:

    ● TCP:提供可靠的传输层服务,面向连接

    ● UDP:为应用程序发送和接收数据报,无连接,不可靠

    ● IP:网络层的核心协议,提供逻辑寻址、路由选择等服务

    ● ICMP:IP协议的附属协议,用来与其他主机或路由器交换错误报文和其他重要信息

    ● IGMP:Internet组管理协议,用来把UDP数据报多播到多个主机

    ● ARP和RARP:用于将IP地址和硬件地址相互转换

三、一些重要的概念

  1、IP地址:IP地址是网络层抽象出来用一个32bit(IPv4)整数来表示的逻辑地址,用于唯一地标识网络上的每一台设备,常用的表示方法是点分十进制,如:192.168.1.1

     IP地址分类:

    各类IP地址的范围:

  2、物理地址(MAC地址):网络设备的身份标识,出厂时就已经固化在网络硬件当中,在以太网中使用48个bit来表示,常用6个以冒号分隔的十六进制的整数来表示,如: 00:0C:29:D2:58:6B

  3、端口号(port):端口号是应用程序对于传输层的一个身份标识,传输层通过端口号来区分不同的应用程序,TCP和UDP采用16bit的端口号来识别应用程序

  4、套接字(socket):由IP地址和端口号组合而成的地址,如:111.121.131.141.21指向IP地址为111.121.131.141的主机的21号端口

  5、子网掩码(mask):类似于IP地址的32bit的地址,可以区分网络号和主机号,用于判断IP地址是否在同一个子网内

  6、域名系统(DNS):域名系统是一个分布的数据库,提供IP地址和主机名之间的映射信息

  7、IP首部的协议域:在IP首部中有一个长度为8bit的协议域,用于标识数据报来自于上层的哪一个协议

  8、封装:当用户从本机的应用程序发送数据到网络上的某一台主机时,数据将从协议栈的顶部往下,逐层添加相应的首部(和尾部),然后到达链路层转换为比特流发送到传输介质,这个过程称为封装。其过程如下:

  9、分用:当主机接收来自传输介质的数据时,比特流将从协议栈的底部往上,逐层去掉相应的首部(和尾部),并根据首部信息发送给指定的协议,最后根据端口号发送给应用程序,用户收到数据,这个过程称为分用。其过程如下:

  10、标准文档:关于TCP/IP标准,可以访问 RFC文档

四、简单描述一次数据传输的全过程

  假设现在我要从我的电脑上发送一份数据到某台主机,假设我使用传输层的TCP协议,那么具体流程将类似下面这样:

  注:这里不讨论更深的细节,比如IP分片、ARP解析、丢包等

  封装:①~④

    ①我将数据准备好,并点击了应用程序的发送,应用程序通过指定端口将数据发送至传输层的TCP协议;(应用层)

    ②TCP协议加上TCP首部(包含源端口号和目的端口号等信息)后封装为TCP分段,传输层将TCP分段发送至网络层的IP协议;(传输层)

    ③IP协议加上IP首部(包含本机的IP地址和目的IP地址等信息,已经经过DNS解析)后封装为IP数据报,网络层将IP数据报发送至数据链路层;(网络层)

    ④数据链路层加上以太网首部和尾部后将IP数据报封装为以太网帧,经过更细分的子层将以太网帧转化为比特流,然后传输到我所在的子网的路由器;(数据链路层)

  IP寻址和路由选择:⑤~⑥

    ⑤子网的路由器将比特流转化为以太网帧,数据链路层将以太网帧去掉以太网首部和尾部,发送至IP层;(数据链路层)

    ⑥IP层检查数据报的IP首部,先根据子网掩码判断目的IP地址是否在同一子网内:(网络层)

      ●如果目的IP地址在本子网内,那么路由器将会将数据报封装后经数据链路层发送给指定主机或路由器

      ●如果目的IP地址不再本子网内,那么路由器将数据报封装后经数据链路层发送给当前路由所在子网的路由器(向上一层的网络传送),路由器收到后继续执行⑤

  分用:⑦~⑩

    ⑦目的主机收到比特流以后,转化为以太网帧,然后去掉以太网首部和尾部,发送给网络层的IP协议;(数据链路层)

    ⑧IP协议检查IP数据报,发现目的IP地址就是本机IP地址,去掉IP首部后根据 协议域 发送给传输层的TCP协议;(网络层)

    ⑨传输层根据目的端口号将去掉TCP首部后的数据发送至指定的应用程序;(传输层)

    ⑩应用程序接收数据;(应用层)

  至此,就完成了一次完整的数据传输~~

时间: 2024-10-01 10:24:52

TCP/IP协议-入门的相关文章

TCP/IP协议入门

TCP/IP协议入门 1. 简介 Transmission Control Protocol/Internet Protocol的简写,即传输控制协议/因特网互联协议.它是网络通信的一套协议集合. 先来看一下OSI和TCP/IP模型: 应用层 就是应用软件使用的协议,如邮箱使用的POP3,SMTP.远程登录使用的Telnet.获取IP地址的DHCP.域名解析的DNS.网页浏览的http协议等:这部分协议主要是规定应用软件如何去进行通信的. 表现层 决定数据的展现(编码)形式,如同一部电影可以采样

TCP/IP协议入门(三)

B类地址用16位表示主机,若一个机构拥有一个B类地址,那么该地址下最多可拥有6万多台主机,管理艰巨. 一个机构可能拥有多个局域网,需要多个网络地址. IP地址危机:A类地址中用24位表示主机地址,若一个机构拥有一个完整的A类地址,但实际该机构不可能拥有1600万台主机,因此造成IP地址浪费. 子网划分结合无类别域间路由(CIDR)与网络地址转换(NAT),对TCP/IP网络分段,有效利用主机地址. 子网划分:对A.B.C类大型网络进行划分,通常将原IP地址中的主机号划分成子网号与主机号(借位),

TCP/IP协议-IP协议

A contented mind is a perpetual feast. "知足长乐" 参考资料:TCP/IP入门经典 (第五版) TCP/IP详解 卷一:协议 一.简介 IP协议(Internet协议,网际协议),是TCP/IP协议族中最核心的协议,位于协议栈的网络层 既然位于网络层,所以IP协议最主要的功能就是 提供独立于硬件的逻辑寻址 和 支持网间数据传递的路由选择,我们将在后面的部分介绍这两个功能,下面先来分析一下IP首部 二.IP首部 我们在 TCP/IP协议-入门 中说

网络编程的基本概念,TCP/IP协议简介

8.1.1 网络基础知识 计算机网络形式多样,内容繁杂.网络上的计算机要互相通信,必须遵循一定的协议.目前使用最广泛的网络协议是Internet上所使用的TCP/IP协议. 网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯.网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输.在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机.而TCP层则提供面向应

http、TCP/IP协议与socket之间的区别

网络由下往上分为:  www.2cto.com 物理层-- 数据链路层-- 网络层--                       IP协议 传输层--                       TCP协议 会话层-- 表示层和应用层--           HTTP协议 1.TCP/IP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接.TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上. 建立起一个TCP连

TCP/IP协议,HTTP协议

1. 协议  a. TCP/IP总体构架概述     TCP/IP协议并不全然符合OSI的七层參考模型.传统的开放式系统互连參考模型,是一种通信协议的7层抽象的參考模型,当中每一层运行某一特定任务.该模型的目的是使各种硬件在同样的层次上相互通信.这7层是:物理层.数据链路层.网路层.传输层.话路层.表示层和应用层.而TCP/IP通讯协议採用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完毕自己的需求.这4层分别为:     i.   应用层:应用程序间沟通的层,如超文本传送协议(HTTP

OSI七层模型详解 TCP/IP协议

总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转换,数据加密 没有协议 会话层 解除或建立与别的接点的联系 没有协议 传输层 提供端对端的接口 TCP,UDP 网络层 为数据包选择路由 IP,ICMP,OSPF,EIGRP,IGMP 数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,MTU 物理层 以二进制数据形式在物理媒体上

TCP/IP协议详解内容总结

TCP/IP协议 TCP/IP不是一个协议,而是一个协议族的统称.里面包括IP协议.IMCP协议.TCP协议. TCP/IP分层: 这里有几个需要注意的知识点: 互联网地址:也就是IP地址,一般为网络号+子网号+主机号 域名系统:通俗的来说,就是一个数据库,可以将主机名转换成IP地址 RFC:TCP/IP协议的标准文档 端口号:一个逻辑号码,IP包所带有的标记 Socket:应用编程接口 数据链路层的工作特性: 为IP模块发送和接收IP数据报 为ARP模块发送ARP请求和接收ARP应答(ARP:

TCP/IP协议三次握手与四次握手流程解析

原文链接地址:http://www.2cto.com/net/201310/251896.html TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图 上图中有几个字段需要重点介绍下:   (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记.   (2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1.   (3)标志位:共6个,即URG.ACK.PSH.RST