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. vs2015 web项目加载失败解决办法

    1.问题 ---------------------------Microsoft Visual Studio---------------------------Web 应用程序项目 XXWeb 已 ...

  2. html dl dt dd 标签语法与使用

    一.dl dt dd认识 html <dl> <dt> <dd>是一组合标 […]

  3. ogr2ogr使用

    简介 org2ogr是OGR模块中提供的一个重要工具,用于对数据源进行格式转换 使用方式 命令行参数 [xingxing.dxx@30_28_6_20 J50F001020]$ ogr2ogr --l ...

  4. C# 使用Guid类生成不重复的随机数

    什么是Guid GUID(全局唯一标识符)         全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符.GUID ...

  5. svn环境搭建

    (一)svn介绍   项目管理中的版本控制问题 通常软件开发由多人协作开发,如果对代码文件.文档等没有进行版本控制,将会出现很多问题: 备份多个版本,占用磁盘空间大 解决代码冲突困难 容易引发BUG ...

  6. 【Leetcode】【Medium】Combination Sum II

    Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in ...

  7. 【Leetcode】【Medium】Best Time to Buy and Sell Stock

    Say you have an array for which the ith element is the price of a given stock on day i. If you were ...

  8. vim的visual模式

    在可视化模式下,可以对一个文本块的整体进行操作.例如,首先高亮选中一部分文本,然后用d命令删除这个文本块.可视化模式的好处在于,你可以在做改动之前,就看到操作将影响的文本.可视化模式可以分为以下三种: ...

  9. Python+Selenium2自动化测试之IE、chrome浏览器启动

    构建Python+Selenium2自动化测试环境完成之后,就需要测试支持python的selenium的版本是否都支持在不同浏览器上运行,当前我们分别在三个最通用的浏览器上通过脚本来测试. 1.在I ...

  10. mvc 从客户端 中检测到有潜在危险的 Request 值

    往MVC中加入了一个富文本编辑框,在提交信息的时候报了如下的错误: 从客户端(Content="<EM ><STRONG ><U >这是测试这...&qu ...