TCP/IP协议详解卷1--第一章概述--读书笔记
作者:vpoet
日期:2015/06/25
注:本系列的文章只是作者对TCP/IP协议的理解,难免会出现纰漏或者不完整,当然也有可能很肤浅,希望大家理解


一.引言
百度百科这样说TCP/IP协议:
Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名
网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议
组成。TCP/IP
定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级
结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问
题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一
个地址。
好了我再说说我的理解:
先说说OSI(open System Interconnection)互联开放模型,是某某某组织为网络互联提供的一种标准模型。记
住只是一种模型而已,它大致是这样的,为了表示原创性,图片我尽量画。


好了,在整个理论的模型基础上,美国某某某组织定义和实现了TCP/IP协议,这个协议就是现在我们网络连接时这样
用的协议,记住TCP/IP是个协议族,意思是他有很多协议,好了既然TCP/IP协议是在OSI模型上定义和实现的,那么两
者的关系大概是这样:


明白了,TCP/IP协议将OSI的前三层融合到一层,而传输层和网络层仍然没有改变,物理层为OSI模型中的数
据链路层和物理层这两层的结合。
 



二.TCP/IP各层的意义和各层的意义

首先:应用层是基于底层协议实现的各种协议,是我们用户之间可以接触到的,比如我们远程登录使用的Telnet
协议,比如我们发送邮件的SMTP(简单邮件传输协议),比如我们接受邮件用的pop3协议等。其次:传输层,书上说
传输层是提供端到端的传输,好晦涩,端是啥我不懂,我的理解是传输层通过端口来进行两个主机之间的通信,
因为网络层的IP封装已经提供了主机IP的信息,所以传输层只需要提供某IP的端口信息就可以建议与该主机相
应的端口进行通信。传输层的协议包括TCP和UDP两种协议,TCP是可靠的,什么是可靠的呢,意思就是使用TCP协
议通信会对本次通信的过程进行保证,保证什么,保证信息从源机到目的机,其中用的机制包括建立连接,超时重
传等。UDP提供一种不可靠,不可靠是啥意思呢,就是我只管给你传送,至于你收不到收不到也就跟我没毛关系了。
第三:网络层,主要协议是IP协议,网络层就是网络互联,意思就是什么呢,提供连个主机之间的连接,而这种连
接就是基于IP地址的,理论上说只要是连接到Internet网上的每台主机都有一个唯一的IP地址,这样我们就可以
用这个唯一IP就可以连接到任何一台电脑,但是理想很丰满,现实很骨感,IPv4是不够用的,那意思就是说每台
电脑就不可能划分唯一的IP,但是科学技术是第一生产力,你懂的总有方法解决,比如划分子网,DHCP等用来缓
解IP紧张的压力,但是这不是根本的,根本的就是IPv6的推行和发展才能从根本上解决这个问题,提供足够的IP给
世界上接入互联网的每个终端。最好;物理层也叫网络接口层,这一层的主要目的是提供网络传输的物理细节,这
一层包括了很多协议比如最流行的的以太网协议。
 
 
三.IP地址和端口
IP地址是很重要的,为啥重要,如何没有这玩意儿我们不可能连接到Internet整个庞大的网络,现在用
的IPv4提供的IP数量理论上是不够用的,所以呢有某某某组织也在积极的推动IPv6标准IPv4包括32位,
通常表示成点分10进制,例如192.168.1.1但是在内存中还是2进制表示,类似10000000011000000000000100000001
其结构类似这样:


这就是5类IP地址的结构,
我们可以根据网络号转化成点分10进制:
A类:0.0.0.0-127.255.255.255
B类:128.0.0.0-191.255.255.255
C类:192.0.0.0-223.255.255.255
D类:234.0.0.0-239.255.255.255
E类:240.0.0.0-247.255.255.255
从A-E网络号站的位数依次增多,主机号占的位数依次减少
意思就是啥呢:分配一个A类地址,可以包含2^24个主机 而分配一个C类地址只有2^8(256)个主机
我们还可以直接根据点分10进制的的一个数判断此类IP到底是那类IP地址。当然如果有子网划分就不能只靠判断
哪类地址来决定其主机个数,还要结合子网掩码一起来判断。
 
四.DNS服务
DNS Domain Name System 域名解析系统,这是Internet提供的一项服务。当我们上网的时候需要在浏览器
键入我们想要浏览的网站,通常我们是键入网站的域名,为什么用域名呢,因为域名好用啊,好记啊,不敢想
象如果我们浏览网站总是要通过IP来访问服务器那是多么痛苦。那这个DNS是如何实现的呢,其实DNS解析是通过
分布在世界各地的DNS服务器来实现的,每个DNS服务器都会维护一个默认的域名和IP映射表,当我们通过域名
访问网站的时候,该域名首先进入DNS服务器,然后在域名IP映射表中进行查询,如果查询到对应的IP,然后通
过IP对服务器进行寻址访问,如果没有找到该映射项,那么就会在上一级的DNS服务器中继续查找。
我们可以通过dos下运行 ipconfig /all命令来查询本机的DNS服务器IP



五.关于Tcp/ip通信过程

那么说到这里,大家就想问TCP/IP协议族如何实现主机之间的通信连接呢这里我只有继续发挥的我绘画功
底和想象能力了:


字太丑将就看。
这就是TCP/IP通信过程,其实就是解包和封包的过程,而后面我们具体就要学的就是各个层中有哪些解包封包
的方式,这些解包封包方式的差异就形成了各个层中不同的协议。
好了,就到这里,若有错误,希望大家多多指正。
 

TCP/IP协议详解概述的更多相关文章

  1. TCP/IP协议详解---概述

        工作之后,才发现以前在学校里学的东西忘得太快太干净了,现在需要一点点地捡起来了,要不然写几行程序会闹很多笑话会出现很多bug的.从今天开始,翻一翻<TCP/IP协议详解 卷1>这本 ...

  2. 【转载】TCP /IP协议详解

    首先,TCP/IP不是一个协议,而是一个协议族的统称. 里面包括了IP协议,IMCP协议,TCP协议,以及http.ftp.pop3协议等等. TCP/IP协议分层 提到协议分层,我们很容易联想到IS ...

  3. TCP /IP协议详解【转】

    转自:https://www.jianshu.com/p/0cf648510bce?utm_campaign=maleskine&utm_content=note&utm_medium ...

  4. 003 TCP/IP协议详解(二)

    一.ping ping可以说是ICMP的最著名的应用,是TCP/IP协议的一部分.利用"ping"命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障. 例如:当我们某一 ...

  5. TCP/IP协议详解内容总结

    TCP/IP协议 TCP/IP不是一个协议,而是一个协议族的统称.里面包括IP协议.IMCP协议.TCP协议. TCP/IP分层:   这里有几个需要注意的知识点: 互联网地址:也就是IP地址,一般为 ...

  6. tcp/ip协议详解

    1. 概念介绍 互联网协议(Internet Protocol Suite)是一个网络通信模型,以及一整个网络传输协议家族,为互联网的基础通信架构.它常被通称为 TCP/IP 协议族(英语:TCP/I ...

  7. TCP/IP协议详解内容总结(怒喷一口老血)

    TCP/IP协议(本文源自外部链接) TCP/IP不是一个协议,而是一个协议族的统称.里面包括IP协议.IMCP协议.TCP协议. 这里有几个需要注意的知识点: 互联网地址:也就是IP地址,一般为网络 ...

  8. TCP/IP协议详解笔记——IP协议

    简介 TCP/IP协议族中最核心的协议,提供不可靠.无连接的数据报传输服务. 不可靠:不能保证IP数据报能成功送达. 无连接:并不维护后续数据报的状态信息,每个数据报的处理都是相互独立.数据报可能不会 ...

  9. 003 TCP/IP协议详解(一)

    TCP/IP TCP/IP 意味着 TCP 和 IP 在一起协同工作. TCP 负责应用软件(比如你的浏览器)和网络软件之间的通信. IP 负责计算机之间的通信. TCP 负责将数据分割并装入 IP ...

随机推荐

  1. UVA1218--树形DP

    没有看书和题解做的一道树形DP题,思路很清晰..只是debug上花了很久的时间才发现看错了条件..并不是每个点都只能和一台服务器相邻,而是非服务器的点只能和一台服务器相邻..看错了一个条件差距大了去了 ...

  2. Thinkphp将中文年份转换为数字年份的问题

    今天遇到一个问题:想将中文年份转换为数字年份,例如:"二零一六"-->'2016'. 在网上搜了一下,没找到可以直接处理的函数(也许是我搜索信息的能力有限吧>_< ...

  3. Live555 分析(二):服务端

    live555支持单播和组播,我们先分析单播的流媒体服务端,后面分析组播的流媒体服务端. 一.单播的流媒体服务端: // Create the RTSP server: RTSPServer* rts ...

  4. Codeforces 474C Captain Marmot 给定4个点和各自旋转中心 问旋转成正方形的次数

    题目链接:点击打开链接 题意: 给定T表示case数 以下4行是一个case 每行2个点,u v 每次u能够绕着v逆时针转90° 问最少操作多少次使得4个u构成一个正方形. 思路: 枚举判可行 #in ...

  5. git commit -am 合并操作

    二,合并的操作 1, 首先按需修改文件 echo >> lz66303.txt 2, 然后按需提交被修改的文件到HEAD缓存区,并把这个修改记录到分支中 git commit -am&qu ...

  6. NFinal ajax

    AJAX返回 我们经常会用到ajax,当我们想返回json时,需要这样写. context.Response.ContentType="application/json"; con ...

  7. sql复制表数据的方法

    第一种: INSERT INTO dbo.Student1 ( uid, username ) select uid,username FROM dbo.Student2 备注:Student1表是必 ...

  8. C#使用DirectoryEntry操作IIS创建网站和虚拟路径

    原文:http://www.cnblogs.com/Aiooioo/archive/2011/05/30/cs-iis.html 在.Net中我们可以使用内置的类DirectoryEntry来承载II ...

  9. ext.net中ComboBox空间实现模糊查询

    ComboBox中的属性添加Mode="Local"可以实现第一个字的模糊查询但是搜索中间的字无法实现 现提供一下方法使用正则表达式实现全模糊查询 <ext:ComboBox ...

  10. 教师投票系统(JSP+MySQL)

    display.jsp <%@ page language="java" import="java.sql.*" pageEncoding="g ...