TCP/IP初识(一)
TCP/IP学习记录,如有错误请指正,谢谢!!!
什么是TCP/IP协议?
TCP/IP协议族分为四层(另一个名字是Internet协议族(Internet Protocol Suite)):链路层、网络层、运输层、和应用层,每一层各有不同的责任。在TCP/IP中,网络层和运输层之间的区别最为关键:网络层(IP)提供点对点的服务,而运输层提供端对端的服务。
分层图显示

- 链路层:也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。
- 网络层:也称作互联网层,处理分组在网络中的活动。网络层协议包括IP协议(网际协议), ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)。
- 运输层:主要为两台主机上的应用程序提供端对端的通信。在TCP/IP协议族中,有两个互不相通的传输协议:TCP(传输协议)和UDP(用户数据报协议)。TCP为两台主机提供高可靠性的数据通信。UDP只是把称作数据报的分组从一台主机发送到另一台主机,并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。
- 应用层: 负责处理特定的应用程序细节。几乎各种不同的TCP/IP实现都会提供下面这些通用的应用程序:
4.1 Telnet 远程登录
4.2 FTP 文件传输协议
4.3 SMTP 简单邮件传送协议
4.4 SNMP 简单网络管理协议
TCP/IP协议族中不同层次的协议

- IP是网络层上的主要协议,同时被TCP和UDP使用。
- ICMP是IP协议的附属协议,主要用来与其它主机或路由器交换错误报文和其它重要信息,但应用程序也有可能访问它,两个主要的诊断工具Ping和Traceroute使用了此协议。
- IGMP是Internet组管理协议,用来把一个UDP数据报多播到多个主机。
- ARP(地址解析协议)和 RARP(逆地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换IP层和网络接口层使用的地址。
互联网的地址分类
* 互联网上的每个接口必须有一个唯一的Internet地址(也称IP地址)。IP地址长32bit。主要分为5类不同的互联网地址格式:


域名系统
在TCP/IP领域中,域名系统(DNS: Domain Name System)是一个分布的数据库,由它来提供IP地址和主机名之间的映射信息。任何应用程序都可以调用一个标准的库函数来查看给定名字的主机的IP地址,系统还提供一个逆函数--给定主机的IP地址,可看所对应的主机名。大多数使用主机名作为参数的应用程序也可以把IP地址作为参数。
数据进入协议栈封装

UDP数据与TCP数据基本一致,唯一不同的是UDP传给IP的信息单元称作UDP数据报(UDP datagram),而且UDP的首部长为8个字节。由于TCP、UDP、ICMP、IGMP都要向IP传送数据,因此必须在IP首部加入某种标识,IP首部中存入一个长度为8bit的数据,称作协议域。6:TCP,17:UDP,1:ICMP, 2:IGMP。
应用编程接口
通常采用两种应用编程接口(API):socket和TLI(运输层接口: Transport Layer Interface),前者有时称作“Berkeley socket”, 表明它从伯克利版发展而来。后者起初由AT&T开发的,有时称作XTI(X/Open运输接口),以承认X/Open这个自己定义标准的国际计算机生产商所做的工作。XTI实际上是TLI的一个超集。
标准化过程
TCP/IP协议族事实上有四个小组在负责Internet技术
- Internet协会(ISOC: Internet Society)是一个推动、支持和促进Internet不断增长和发展的专业组织,它把Internet作为全球研究的基础设施。
- Internet体系结构委员会(IAB: Internet Architecture Board)是一个技术监督和协调的机构。它由国际上来自不同专业的15个志愿者组成,其职能是负责Internet标准最后的编辑和技术审核。IAB隶属ISOC.
- Internet工程专门小组(IEFE:Internet Engineering Task Force)是一个面向近期标准的组织,它分为9个领域(应用、寻径和寻址、安全等等)。IEFE开发成为Internet标准的规范。为帮助IEFE主席,又成立了Internet工程指导小组(IESG:Internet Engineering Steering Group)。
- Internet研究专门小组(IRIF:Internet Engineering Task Force)主要对长远的项目进行研究。IRTF和IETF都隶属于IAB。
TCP/IP初识(一)的更多相关文章
- 初识TCP/IP协议
初识TCP/IP协议 TCP/IP 全称是(Transmission Control Protocol / Internet Protocol),传输控制协议/网际协议.TCP/IP定义了电子设备(比 ...
- TCP/IP(一)之初识计算机网络
前言 在一段时间里,都很想知道一台电脑怎么跟另一台电脑通信的,我发送一个qq给女朋友,怎么准确的发送过去的,又是怎么接受消息的. 接下来一段时间给大家慢慢分享关于计算机网络的相关知识. 一.局域网.广 ...
- 计算机网络 0.初识Internet与TCP/IP协议
互联网,即因特网,Internet.互联网是一个世界范围的计算机网络.连接了世界上无数的计算设备,这些计算设备为PC.基于Linux的工作站,serverservers等等. 这些设备依据其作用不同可 ...
- TCP/IP,HTTP,Socket初识
在大学时候学过网络通信这一块,奈何已经还给老师,苍天饶过谁,该拾起来看看学学的还是要学,先简单了解了下这方面的知识,后续会继续通过看书来充实这方面的知识. 手机能够联网是手机底层实现了TCP/IP协议 ...
- TCP/IP网络协议初识
目录 一.什么是协议? 二.什么是TCP/IP协议? 三.TCP/IP为什么这么多协议? 四.TCP/IP协议为什么分层? 五.TCP/IP协议如何入门? 六.TCP/IP 的分层: 七.各协议层打包 ...
- TCP/IP 协议栈初识
原文:深入浅出 TCP/IP 协议栈 0. 简介 TCP/IP 协议栈是网络通信中一系列网络协议的综合,是核心骨架.它定义了电子设备接入因特网.以及数据在它们之间的传输方式,是一份标准.TCP/IP ...
- TCP/IP, WebSocket 和 MQTT
按照OSI网络分层模型,IP是网络层协议,TCP是传输层协议,而HTTP和MQTT是应用层的协议.在这三者之间, TCP是HTTP和MQTT底层的协议.大家对HTTP很熟悉,这里简要介绍下MQTT.M ...
- TCP/IP协议学习笔记
计算机网络基础知识复习汇总:计算机网络基础知识复习 HTTP协议的解析:剖析 HTTP 协议 一个系列的解析文章: TCP/IP详解学习笔记(1)-- 概述 TCP/IP详解学习笔记(2)-- 数据链 ...
- TCP/IP基础
TCP/IP 是用于因特网 (Internet) 的通信协议. 计算机通信协议是对那些计算机必须遵守以便彼此通信的规则的描述. 什么是 TCP/IP? TCP/IP 是供已连接因特网的计算机进行通信的 ...
随机推荐
- TortoiseSvn 取消忽略的文件
右键,TortoiseSvn->Properties,选择列表的一条(Property svn:Ignore),remove.
- 扩展运算符&reset运算符
扩展运算符用三个点号表示,功能是把数组或类数组对象展开成一系列用逗号隔开的值 var foo = function(a, b, c) { console.log(a); console.log(b); ...
- for 循环的时候 append() 是移动不是复制
使用for 的时候,append() 不是复制,而是移动,只有最后一个元素才真正的append() 到了 解决办法: 1. 使用字符串: 2.使用clone();
- Oracle中的索引详解(转载)
一. ROWID的概念 存储了row在数据文件中的具体位置:64位 编码的数据,A-Z, a-z, 0-9, +, 和 /, row在数据块中的存储方式 SELECT ROWID, last_name ...
- Codeforces Round #413 A. Carrot Cakes
A. Carrot Cakes time limit per test 1 second memory limit per test 256 megabytes In some game ...
- 快速安装测试版Mysql
本文操作系统: CentOS 7.2.1511 x86_64MySQL 版本: 5.7.13 1.卸载系统自带的 mariadb-lib [root@centos-linux ~]# rpm -qa| ...
- scrollview的总结
今天主要是学习了cocos2dx的scrollview的内容,把简单的菜单滑动表现做出来了.像很多游戏的下方有一槽功能按钮,角色.背包.技能.帮助等,当宽度不足以全部显示出来的时候,隐藏一部分,以滑动 ...
- echarts tooltip太多会超出显示范围-解决
以下两种解决方式,能够应对大部分出现此类问题项目 tooltip.position: 提示框浮层的位置,默认不设置时位置会跟随鼠标的位置. 可选:string, Array, Function 一.解 ...
- Vim快捷输出查找寄存器的内容(去除\<,\>和\V)
Vim自带的*搜索会自动在单词两头加上\<和\>,使用第三方的vnoremap *,则是加上前缀\V, 当我们想要输出刚刚搜索的内容时可用<C-r>/,但是很可能会带上多余的符 ...
- 在IDE中集成boost
1. 获得Boost 进入Boost的网站(http://www.boost.org/) 下载boost_1_62_0.zip 2. 解压Boost 解压 boost_1_62_0.zip ,比如解压 ...