1.TCP/IP的分层结构

     网络协议通常分不同层次进行开发,每一层分别负责不同的同信功能。TCP/IP通常被认为是一个四层协议系统。
     如图所示。
     
1)链路层(数据链路层或网络接口层),通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。
2)网络层(互联网层),处理分组在网络中的活动。
3)运输层,主要负责两台主机上的应用程序提供端到端的同信。(TCP(传输控制协议)UDP(用户数据包协议)。
4)应用层,主要负责处理特定的应用程序细节。大部分TCP/IP实现都会提供以下通用程序:
  • Telnet远程登陆
  • FTP文件传输协议
  • SMTP简单邮件传送协议
  • SNMP简单网络管理协议

  

如上图所示,TCP/IP分层结构中,展示了主要协议的分布(TCP/IP协议远不止以上协议)
  • TCP和UDP是两种最为著名的运输层协议,二者都使用IP作为网络层协议
    • TCP使用不可靠的IP服务,但是却提供一种可靠的运输层服务
    • UDP为应用程序发送和接收数据报。UDP是不可靠的,它不能保证数据报能安全无误的达到目的地。
  • IP(网际协议)是网络层上的主要协议,同时被TCP和UDP使用。TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。
  • ICMP(internet控制报文协议)是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。
  • IGMP(internet组管理协议)。它用来把一个UDP数据多播到多个主机。
  • ARP(地址解析协议)和RARP(逆地址解析协议)是网络接口使用的特殊协议,用来转换IP层和网络接口层使用的地址。
2.互联网的地址
     互联网上的每个接口必须有一个唯一的internet地址(IP地址)。IPv4地址长32位。IP地址具有一定的结构。五类不同的互联网地址格式如下:
这些32位的地址通常写成四个十进制的数,其中每个整数对应一个字节。这种表示法称作“点分十进制数表示法”例如,常见的路由器的IP地址:192.168.1.1 (username:admin       password:admin)
3.域名系统
    DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。它是由解析器以及域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。
4.封装
     当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层,直接到当作一串比特流送入网络。其中每一层对收到的数据都要加一些首部信息(有时还要增加尾部信息),如图所示:
  • TCP传给IP的数据单元称作TCP报文段(segment。
  • IP传给链路层的数据单元称作IP数据报(IP datagram)
  • 通过以太网传输的比特流称作帧(Frame)

TCP/IP详解学习笔记(1)-- 概述的更多相关文章

  1. TCP/IP详解学习笔记- 概述

    TCP/IP详解学习笔记(1)-- 概述1.TCP/IP的分层结构      网络协议通常分不同层次进行开发,每一层分别负责不同的同信功能.TCP/IP通常被认为是一个四层协议系统.      如图所 ...

  2. TCP/IP详解学习笔记

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

  3. TCP/IP详解学习笔记 这位仁兄写得太好了

      TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣 ...

  4. TCP/IP详解学习笔记 这位仁兄写得太好了.(转载)

    TCP/IP详解学习笔记   这位仁兄写得太好了   TCP/IP详解学习笔记   这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/20444 ...

  5. 【转】TCP/IP详解学习笔记(二)

    TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节 1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据 ...

  6. 【转】TCP/IP详解学习笔记(一)

      TCP/IP详解学习笔记   这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/204448.aspx TCP/IP详解学习笔记(13)-T ...

  7. TCP/IP详解学习笔记(3)-- IP:网际协议

    1.概述      IP是TCP/IP协议族中最为核心的协议.所有的TCP,UDP,ICMP,IGMP数据都以IP数据报格式传输.      IP提供不可靠,无连接的数据报传送服务. 不可靠:它不能保 ...

  8. TCP/IP详解学习笔记(9)-TCP协议概述

    终于看到了TCP协议,这是TCP/IP详解里面最重要也是最精彩的部分,要花大力气来读.前面的TFTP和BOOTP都是一些简单的协议,就不写笔记了,写起来也没啥东西. TCP和UDP处在同一层---运输 ...

  9. TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节

    1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由.这里就不重复了.首先来看看一个简单的系统 ...

  10. TCP/IP详解学习笔记(7)-- 初识运输层

    作为TCP和UDP协议的学习前奏,简单的介绍一下运输层的相关内容,方便对TCP,UDP的学习. 1.概述      运输层的任务主要是负责主机中两个进程之间的通信.      运输层的基本功能: 复用 ...

随机推荐

  1. 使用mongo-java-driver3.0.2.jar和mongodb3.0在java代码中的用户验证4

    以下是使用mongo-java-driver3.0.2.jar和mongodb3.0.4在java代码中的用户验证: ServerAddress sa = new ServerAddress(host ...

  2. 【转】VS2013 C#WinForm程序构造界面拖动控件NumericUpDown时"未响应“是有道词典惹的祸

    很久之前遇到过因为金山词霸和其他软件冲突导致的程序无响应的情况. 没想到今天情况重现,VS2013在可视化编辑NumbericUpDown控件的时候,又出现了”未响应“,发现又是有道词典惹的祸. 可见 ...

  3. PHPWord生成word实现table合并(colspan和rowspan)

    PHPWord(http://phpword.codeplex.com/)是一个很好处理和生成WORD文档的工具,但是生成复杂的word,如colspan和rowspan的实现,还是需要你做些修改. ...

  4. Firmware综述

    软件的层次关系(从底层到高层)如下: 1. PSP (Processor Support Package). A group of file that are specific to a CPU ty ...

  5. Expert C# 5.0中的Linq部分

    1.先看看.NET中的Linq 2.扩展方法 3.Lambda表达式和表达式树 4.Linq中的延迟操作 5.Linq中的查询方法 5.1分割操作 5.2连接操作 5.3排序操作 5.4分组和连接 5 ...

  6. ylbtech-LanguageSamples-Unsafe(不安全代码)

    ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-Unsafe(不安全代码) 1.A,示例(Sample) 返回顶部 “不安全代码”示例 ...

  7. JAVA 构造方法之间的调用

    this:看上去,用来区分局部变量和成员变量的情况this:就是代表本类对象,this代表它所在方法所属对象的引用构造方法之间的调用只能通过this语句来完成构造方法之间进行调用时this语句只能出现 ...

  8. Decorator装饰模式

    动态地给一个对象增加一些额外的职责.就增加功能而言,Decorator模式比生成子类更为灵活. ——<设计模式>GoF 作用:在不影响其他对象的情况下,以动态.透明的方式给单个对象添加职责 ...

  9. 使用POI读取excel文件内容

    1.前言 项目中要求读取excel文件内容,并将其转化为xml格式.常见读取excel文档一般使用POI和JExcelAPI这两个工具.这里我们介绍使用POI实现读取excel文档. 2.代码实例: ...

  10. Android 上的代码阅读器 CoderBrowserHD 修改支持 go 语言代码

    我在Android上的代码阅读器用的是 https://github.com/zerob13/CoderBrowserHD 改造的版本,改造后的版本我放在 https://github.com/ghj ...