zoukankan      html  css  js  c++  java
  • TCP/IP协议详解概述

    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通信过程,其实就是解包和封包的过程,而后面我们具体就要学的就是各个层中有哪些解包封包
    的方式,这些解包封包方式的差异就形成了各个层中不同的协议。

    好了,就到这里,若有错误,希望大家多多指正。
     
  • 相关阅读:
    SAP程序代码中RANGE表的用法注意点
    代码审计学习-1
    应用层隧道之HTTP/HTTPS和DNS
    应用层隧道技术之SSH
    横向移动-常用windows连接和相关命令
    基于MSF的路由转发
    渗透过程中的边界突破(内部分享笔记)
    网络层隧道之PowerCat
    网络层隧道之lcx和nc的使用
    网络层隧道构建之PingTunnel
  • 原文地址:https://www.cnblogs.com/vpoet/p/4659577.html
Copyright © 2011-2022 走看看