14/04/26 10:31:18.50 NeCNlItP
>>370
以下のように修正してみました
//送信元ポートも指定したとする
http(dstIpAddress, dstPort, srcPort, data){
tcpConnect(dstIpAddress, dstPort, srcPort, data)
}
tcpConnect(dstIpAddress, dstPort, srcPort, data){
tcpDatagram = makeTcpDatagram(dstPort, srcPort, data);
ipDatagramMake(dstIpAddress, tcpDatagram);
}
ipDatagramMake(dstIpAddress, tcpDatagram){
//経路を選択
route = routing(dstIpAddress);
//経路から送信元インタフェースを決定
srcInterface = getSrcInterface(route);
//送信元インタフェースより送信元IPと送信元MAC取得
srcIP, srcMac = getSrcIpAndMac(srcInterface);
//次に送信すべき機器のMACアドレスを取得
nextPOP_IP = getNextPopIP(route);
nextMAC = arp(nextPOP_IP);
//IPヘッダ
ipHeader = makeIpHeader(dstIpAddress, srcIP);
ipDatagram = ip(ipHeader, tcpDatagram);
//イーサネットヘッダと続いていく?
makeEthHeader(nextMac, srcMAC, ipDatagram);
}