TCP/IP学习记录,如有错误请指正,谢谢!!!

什么是TCP/IP协议?

TCP/IP协议族分为四层(另一个名字是Internet协议族(Internet Protocol Suite)):链路层、网络层、运输层、和应用层,每一层各有不同的责任。在TCP/IP中,网络层和运输层之间的区别最为关键:网络层(IP)提供点对点的服务,而运输层提供端对端的服务。

分层图显示

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

    4.1 Telnet 远程登录

    4.2 FTP 文件传输协议

    4.3 SMTP 简单邮件传送协议

    4.4 SNMP 简单网络管理协议

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

  1. IP是网络层上的主要协议,同时被TCP和UDP使用。
  2. ICMP是IP协议的附属协议,主要用来与其它主机或路由器交换错误报文和其它重要信息,但应用程序也有可能访问它,两个主要的诊断工具Ping和Traceroute使用了此协议。
  3. IGMP是Internet组管理协议,用来把一个UDP数据报多播到多个主机。
  4. 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技术

  1. Internet协会(ISOC: Internet Society)是一个推动、支持和促进Internet不断增长和发展的专业组织,它把Internet作为全球研究的基础设施。
  2. Internet体系结构委员会(IAB: Internet Architecture Board)是一个技术监督和协调的机构。它由国际上来自不同专业的15个志愿者组成,其职能是负责Internet标准最后的编辑和技术审核。IAB隶属ISOC.
  3. Internet工程专门小组(IEFE:Internet Engineering Task Force)是一个面向近期标准的组织,它分为9个领域(应用、寻径和寻址、安全等等)。IEFE开发成为Internet标准的规范。为帮助IEFE主席,又成立了Internet工程指导小组(IESG:Internet Engineering Steering Group)。
  4. Internet研究专门小组(IRIF:Internet Engineering Task Force)主要对长远的项目进行研究。IRTF和IETF都隶属于IAB。

TCP/IP初识(一)的更多相关文章

  1. 初识TCP/IP协议

    初识TCP/IP协议 TCP/IP 全称是(Transmission Control Protocol / Internet Protocol),传输控制协议/网际协议.TCP/IP定义了电子设备(比 ...

  2. TCP/IP(一)之初识计算机网络

    前言 在一段时间里,都很想知道一台电脑怎么跟另一台电脑通信的,我发送一个qq给女朋友,怎么准确的发送过去的,又是怎么接受消息的. 接下来一段时间给大家慢慢分享关于计算机网络的相关知识. 一.局域网.广 ...

  3. 计算机网络 0.初识Internet与TCP/IP协议

    互联网,即因特网,Internet.互联网是一个世界范围的计算机网络.连接了世界上无数的计算设备,这些计算设备为PC.基于Linux的工作站,serverservers等等. 这些设备依据其作用不同可 ...

  4. TCP/IP,HTTP,Socket初识

    在大学时候学过网络通信这一块,奈何已经还给老师,苍天饶过谁,该拾起来看看学学的还是要学,先简单了解了下这方面的知识,后续会继续通过看书来充实这方面的知识. 手机能够联网是手机底层实现了TCP/IP协议 ...

  5. TCP/IP网络协议初识

    目录 一.什么是协议? 二.什么是TCP/IP协议? 三.TCP/IP为什么这么多协议? 四.TCP/IP协议为什么分层? 五.TCP/IP协议如何入门? 六.TCP/IP 的分层: 七.各协议层打包 ...

  6. TCP/IP 协议栈初识

    原文:深入浅出 TCP/IP 协议栈 0. 简介 TCP/IP 协议栈是网络通信中一系列网络协议的综合,是核心骨架.它定义了电子设备接入因特网.以及数据在它们之间的传输方式,是一份标准.TCP/IP ...

  7. TCP/IP, WebSocket 和 MQTT

    按照OSI网络分层模型,IP是网络层协议,TCP是传输层协议,而HTTP和MQTT是应用层的协议.在这三者之间, TCP是HTTP和MQTT底层的协议.大家对HTTP很熟悉,这里简要介绍下MQTT.M ...

  8. TCP/IP协议学习笔记

    计算机网络基础知识复习汇总:计算机网络基础知识复习 HTTP协议的解析:剖析 HTTP 协议 一个系列的解析文章: TCP/IP详解学习笔记(1)-- 概述 TCP/IP详解学习笔记(2)-- 数据链 ...

  9. TCP/IP基础

    TCP/IP 是用于因特网 (Internet) 的通信协议. 计算机通信协议是对那些计算机必须遵守以便彼此通信的规则的描述. 什么是 TCP/IP? TCP/IP 是供已连接因特网的计算机进行通信的 ...

随机推荐

  1. 用iframe踩的坑

    1.无法监控iframe加载成功与否 经测试,火狐及chorme都不支持onerror事件,而且,不管iframe加载是否成功,都会触发onload事件. 1)通过postmessage消息提示是否加 ...

  2. android中的内部存储与外部存储

    我们先来考虑这样一个问题: 打开手机设置,选择应用管理,选择任意一个App,然后你会看到两个按钮,一个是清除缓存,另一个是清除数据,那么当我们点击清除缓存的时候清除的是哪里的数据?当我们点击清除数据的 ...

  3. c++中%是什么意思?

    两种意思:1.格式化字符串输出2.整数取余 1.目前printf支持以下格式的输出,例如:printf("%c",a):输出单个字符.printf("%d",a ...

  4. switch case 忘记 break

    昨天纠结了很久的问题,一直找不到原因,早上发现是一个低级错误: private void selectButton(int id) { switch (id) { case 0: recommend_ ...

  5. 一张图看懂CSS cascade, specific, importance, inheritance

    http://www.w3.org/TR/CSS21/cascade.html#inheritance http://www.w3.org/TR/CSS21/cascade.html#cascade ...

  6. TIAGO机器人传感器参数简介 手册翻译

    本来认为这篇文章是最没人气的,竟然收到了回复,看来要继续更新本文了.留下笔者联系方式,邮箱leop22@163.com,欢迎邮件交流. 防止不良爬虫,原文链接:http://www.cnblogs.c ...

  7. yii2.0发送qq邮件详情配置

    首先要想使用qq发送邮件必须打开使用的qq邮箱里的一个配置,

  8. LaTeX-手动安装宏包(package)以及生成帮助文档的整套流程

    我使用的是ctex套装,本来已经自带了许多package,但是有时候还是需要使用一些没有预装的宏包,这时就需要自己安装package了.下载package可以从CTAN(Comprehensive T ...

  9. 时间函数应用 time

    表 1. C 时间函数 function 定义 含义 返回值 精度 time() time 函数获得从 1970 年 1 月 1 日 0 点到当前的秒数,存储在time_t结构之中. time_t 秒 ...

  10. ZOJ-3286 Very Simple Counting---因子数打表

    题目链接: https://cn.vjudge.net/problem/ZOJ-3286 题目大意: f(n)为n的因子个数 求出有多少个f(i)使得f(i) == f(n) && i ...